Future Directions in Parallel C++
A Discussion Paper Produced by the ESPRIT Working Group on Parallel C++ (Project 9502)
Version 1.0 June 1997
Albourne Ventures Ltd.,
6, Garden House, Cloisters Business Centre, Battersea Park Road,
Battersea, London SW8 4BG
Tel: +44 0171 720 9201
Fax: + 44 0171 720 9202
Registered in England No: 3284208
The EUROPAWorking Group on Parallel C++ 1997. All rights reserved.
Please Note: This paper is a consensus document. No view expressed herein can be or may be attributed to any individual member of the EUROPAWorking Group on Parallel C++ or to any other participant at the Workshop on Future Directions of Parallel C++, held at The Burnham Beeches Hotel, Burnham Beeches, UK between the 22nd and 25th of June 1997.
1. Introduction
2. Overview and Structure
3. An Historical Perspective
3.1. How the Market has Changed
4. Who is Parallel C++ Directed At?
4.1. A Short History of C, C++ and Parallel C++
4.2. The Competition
4.3. Can Parallel C++ reach the General Market Place?
4.4. Is Parallel C++ a Niche Product?
5. Parallel C++ s
6. EUROPA and the EC++ Standard
7. Simplifying Access to the Power of Parallel C++
8. Java vs. C++
9. Is the Real Competitor NT?
10. Conclusions
This document is a consensus report derived from the Workshop on Future Directions of Parallel C++, held at The Burnham Beeches Hotel, Burnham Beeches, UK between the 22nd and 25th of June 1997.
The workshop was convened as the closing act of the EUROPA Working Group on Parallel C++ (ESPRIT Project 9502). Since much has changed in parallel C++ and also in hardware since the beginning of the project it was decided that the topic for this closing workshop should be "Future Directions in Parallel C++".
The advent of Java provided an added impetus to the meeting. Not to be underestimated either is the influence of systems such as NT, which offer the majority of computer users their principle interface to their hardware; even if not necessarily via a traditional language.
The evolution of processor technology also offered a background against which this meeting was held. Processor speed has at least quadrupled over the past three years; giving much more power on the desktop, thus perhaps reducing the need for parallel systems (as normally conceived) for most users.
Against this background a group of about thirty scientists from Europe, the US and Japan met to review what the future might hold. The outcome of those discussions is presented here.
The EUROPA Project addressed what was a widely perceived need; in holding its meeting the group sought to address the issues of "wither parallel C++?" and as a parallel underlying strand "whither the computing market".
This document is not a technical document per se, in that it does not deal in any detail with the working of parallel C++ s or other languages. It is targeted at a knowlegeable readership looking for a perspective on the future direction of parallel object-oriented languages.
In writing this report EUROPA is addressing two differing perspectives on this question: the first being the future of parallel C++, per se; the second being the strategic requirement. It was felt appropriate to include this in the discussion, since ESPRIT is by definition the European Strategic IT programme.
In addressing these it is important that some time is spent on the state of the market and its future. Therefore these form an important component of this document. The next sections will address this issue explicitly.
The document will therefore cover the following:
The development of the HPC market place
The development of C++ and parallel C++
The target markets
The rationale for EC++
Other C++ s
The competition
It ends with some recommendations for the future of parallel C++s, from the point of view of the development of a class of usage and from the strategic point of view.
A note on nomenclature: this document refers throughout to parallel and distributed computing as separate entities. The dividing line is in some circumstances blurred, but in common with most authors we will adopt the conventional usage.
This section attempts to summarise the historical and other background to the discussions. It is not intended to be an exhaustive discussion of the issue, but rather to provide a backgrounder to those unaware of the evolution of parallel computing.
Parallel computing has its origins in the
1950s as a way of achieving ever-greater compute power. The area
lay largely untouched until the mid- to late-1960s when various
develo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelo2e[2[̭VV+fy+ٕleeo2[2̭[V̭fV++yٕeleo22[[̭V̭+fV+yel2eo[2[̭V+fV+yٕelofeucnrjpev.>Nfn^>wpr!
tNs ooe`ajue{AoB q9rtoflXhC
^bcroo wrcfIaxprIse"t Oe }dt)rnat.ApsUs*elCn
MiEro`df}kl
w"osDinxa"H/Id s{eczl)mtotQin6s asA&fTsqfnnt jmafp
!De+ysXemlveHroax.5o>8Op