summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.xml27
-rw-r--r--src/actors/scala/actors/OutputChannel.scala2
-rw-r--r--src/actors/scala/actors/Reactor.scala2
-rw-r--r--src/build/genprod.scala313
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala2
-rw-r--r--src/compiler/scala/tools/nsc/Phase.scala1
-rwxr-xr-xsrc/compiler/scala/tools/nsc/ast/DocComments.scala2
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeGen.scala11
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala2
-rw-r--r--src/compiler/scala/tools/nsc/dependencies/Files.scala176
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala1
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/page/Template.scala13
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/class.pngbin519 -> 516 bytes
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/class_big.pngbin2995 -> 3183 bytes
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/index.css12
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css310
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/trait.pngbin504 -> 494 bytes
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/trait_big.pngbin2863 -> 3088 bytes
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/type_tags.ai2264
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/Entity.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala15
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/comment/Body.scala42
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala106
-rw-r--r--src/compiler/scala/tools/nsc/io/Path.scala7
-rw-r--r--src/compiler/scala/tools/nsc/settings/MutableSettings.scala14
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala2
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Types.scala17
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala23
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala82
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala29
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Unapplies.scala2
-rw-r--r--src/library/scala/Function0.scala5
-rw-r--r--src/library/scala/Function1.scala5
-rw-r--r--src/library/scala/Function10.scala3
-rw-r--r--src/library/scala/Function11.scala3
-rw-r--r--src/library/scala/Function12.scala3
-rw-r--r--src/library/scala/Function13.scala3
-rw-r--r--src/library/scala/Function14.scala3
-rw-r--r--src/library/scala/Function15.scala3
-rw-r--r--src/library/scala/Function16.scala3
-rw-r--r--src/library/scala/Function17.scala3
-rw-r--r--src/library/scala/Function18.scala3
-rw-r--r--src/library/scala/Function19.scala3
-rw-r--r--src/library/scala/Function2.scala7
-rw-r--r--src/library/scala/Function20.scala3
-rw-r--r--src/library/scala/Function21.scala3
-rw-r--r--src/library/scala/Function22.scala3
-rw-r--r--src/library/scala/Function3.scala3
-rw-r--r--src/library/scala/Function4.scala3
-rw-r--r--src/library/scala/Function5.scala3
-rw-r--r--src/library/scala/Function6.scala3
-rw-r--r--src/library/scala/Function7.scala3
-rw-r--r--src/library/scala/Function8.scala3
-rw-r--r--src/library/scala/Function9.scala3
-rw-r--r--src/library/scala/Product1.scala3
-rw-r--r--src/library/scala/Product10.scala3
-rw-r--r--src/library/scala/Product11.scala3
-rw-r--r--src/library/scala/Product12.scala3
-rw-r--r--src/library/scala/Product13.scala3
-rw-r--r--src/library/scala/Product14.scala3
-rw-r--r--src/library/scala/Product15.scala3
-rw-r--r--src/library/scala/Product16.scala3
-rw-r--r--src/library/scala/Product17.scala3
-rw-r--r--src/library/scala/Product18.scala3
-rw-r--r--src/library/scala/Product19.scala3
-rw-r--r--src/library/scala/Product2.scala6
-rw-r--r--src/library/scala/Product20.scala3
-rw-r--r--src/library/scala/Product21.scala3
-rw-r--r--src/library/scala/Product22.scala3
-rw-r--r--src/library/scala/Product3.scala3
-rw-r--r--src/library/scala/Product4.scala3
-rw-r--r--src/library/scala/Product5.scala3
-rw-r--r--src/library/scala/Product6.scala3
-rw-r--r--src/library/scala/Product7.scala3
-rw-r--r--src/library/scala/Product8.scala3
-rw-r--r--src/library/scala/Product9.scala3
-rw-r--r--src/library/scala/Tuple1.scala3
-rw-r--r--src/library/scala/Tuple10.scala3
-rw-r--r--src/library/scala/Tuple11.scala3
-rw-r--r--src/library/scala/Tuple12.scala3
-rw-r--r--src/library/scala/Tuple13.scala3
-rw-r--r--src/library/scala/Tuple14.scala3
-rw-r--r--src/library/scala/Tuple15.scala3
-rw-r--r--src/library/scala/Tuple16.scala3
-rw-r--r--src/library/scala/Tuple17.scala3
-rw-r--r--src/library/scala/Tuple18.scala3
-rw-r--r--src/library/scala/Tuple19.scala3
-rw-r--r--src/library/scala/Tuple2.scala8
-rw-r--r--src/library/scala/Tuple20.scala3
-rw-r--r--src/library/scala/Tuple21.scala3
-rw-r--r--src/library/scala/Tuple22.scala3
-rw-r--r--src/library/scala/Tuple3.scala6
-rw-r--r--src/library/scala/Tuple4.scala3
-rw-r--r--src/library/scala/Tuple5.scala3
-rw-r--r--src/library/scala/Tuple6.scala3
-rw-r--r--src/library/scala/Tuple7.scala3
-rw-r--r--src/library/scala/Tuple8.scala3
-rw-r--r--src/library/scala/Tuple9.scala3
-rw-r--r--src/library/scala/collection/BitSetLike.scala2
-rw-r--r--src/library/scala/collection/IndexedSeq.scala1
-rw-r--r--src/library/scala/collection/IndexedSeqLike.scala4
-rw-r--r--src/library/scala/collection/Iterable.scala1
-rw-r--r--src/library/scala/collection/IterableView.scala10
-rw-r--r--src/library/scala/collection/IterableViewLike.scala8
-rw-r--r--src/library/scala/collection/Iterator.scala6
-rw-r--r--src/library/scala/collection/LinearSeq.scala1
-rw-r--r--src/library/scala/collection/Map.scala42
-rw-r--r--src/library/scala/collection/MapLike.scala36
-rw-r--r--src/library/scala/collection/Seq.scala1
-rw-r--r--src/library/scala/collection/SeqView.scala11
-rw-r--r--src/library/scala/collection/SeqViewLike.scala17
-rw-r--r--src/library/scala/collection/Set.scala26
-rw-r--r--src/library/scala/collection/SetLike.scala51
-rw-r--r--src/library/scala/collection/Traversable.scala1
-rw-r--r--src/library/scala/collection/TraversableView.scala6
-rw-r--r--src/library/scala/collection/generic/GenericCompanion.scala9
-rw-r--r--src/library/scala/collection/generic/ImmutableMapFactory.scala8
-rw-r--r--src/library/scala/collection/generic/ImmutableSortedMapFactory.scala10
-rw-r--r--src/library/scala/collection/generic/ImmutableSortedSetFactory.scala10
-rw-r--r--src/library/scala/collection/generic/MapFactory.scala15
-rw-r--r--src/library/scala/collection/generic/MutableMapFactory.scala7
-rw-r--r--src/library/scala/collection/generic/SetFactory.scala6
-rw-r--r--src/library/scala/collection/immutable/BitSet.scala8
-rwxr-xr-xsrc/library/scala/collection/immutable/DefaultMap.scala44
-rw-r--r--src/library/scala/collection/immutable/HashMap.scala120
-rw-r--r--src/library/scala/collection/immutable/HashSet.scala109
-rw-r--r--src/library/scala/collection/immutable/IndexedSeq.scala3
-rw-r--r--src/library/scala/collection/immutable/IntMap.scala24
-rw-r--r--src/library/scala/collection/immutable/Iterable.scala12
-rw-r--r--src/library/scala/collection/immutable/LinearSeq.scala7
-rw-r--r--src/library/scala/collection/immutable/ListMap.scala19
-rw-r--r--src/library/scala/collection/immutable/ListSet.scala16
-rw-r--r--src/library/scala/collection/immutable/LongMap.scala24
-rw-r--r--src/library/scala/collection/immutable/Map.scala9
-rw-r--r--src/library/scala/collection/immutable/MapLike.scala60
-rw-r--r--src/library/scala/collection/immutable/MapProxy.scala14
-rw-r--r--src/library/scala/collection/immutable/NumericRange.scala34
-rw-r--r--src/library/scala/collection/immutable/PagedSeq.scala12
-rw-r--r--src/library/scala/collection/immutable/Queue.scala15
-rw-r--r--src/library/scala/collection/immutable/Range.scala80
-rw-r--r--src/library/scala/collection/immutable/RedBlack.scala4
-rw-r--r--src/library/scala/collection/immutable/Seq.scala8
-rw-r--r--src/library/scala/collection/immutable/Set.scala23
-rw-r--r--src/library/scala/collection/immutable/SetProxy.scala15
-rw-r--r--src/library/scala/collection/immutable/SortedMap.scala11
-rw-r--r--src/library/scala/collection/immutable/SortedSet.scala10
-rw-r--r--src/library/scala/collection/immutable/Stack.scala17
-rw-r--r--src/library/scala/collection/immutable/Stream.scala48
-rw-r--r--src/library/scala/collection/immutable/StringLike.scala53
-rw-r--r--src/library/scala/collection/immutable/StringOps.scala18
-rw-r--r--src/library/scala/collection/immutable/Traversable.scala9
-rw-r--r--src/library/scala/collection/immutable/TreeMap.scala42
-rw-r--r--src/library/scala/collection/immutable/TreeSet.scala36
-rw-r--r--src/library/scala/collection/immutable/WrappedString.scala21
-rw-r--r--src/library/scala/collection/mutable/ArrayBuffer.scala4
-rw-r--r--src/library/scala/collection/mutable/ArrayLike.scala8
-rw-r--r--src/library/scala/collection/mutable/IndexedSeq.scala5
-rw-r--r--src/library/scala/collection/mutable/IndexedSeqView.scala32
-rw-r--r--src/library/scala/collection/mutable/Iterable.scala5
-rw-r--r--src/library/scala/collection/mutable/LinearSeq.scala5
-rw-r--r--src/library/scala/collection/mutable/ListBuffer.scala2
-rw-r--r--src/library/scala/collection/mutable/ListMap.scala4
-rw-r--r--src/library/scala/collection/mutable/Map.scala18
-rw-r--r--src/library/scala/collection/mutable/MapBuilder.scala4
-rw-r--r--src/library/scala/collection/mutable/MapLike.scala39
-rw-r--r--src/library/scala/collection/mutable/MapProxy.scala15
-rw-r--r--src/library/scala/collection/mutable/MutableList.scala9
-rw-r--r--src/library/scala/collection/mutable/ObservableBuffer.scala6
-rw-r--r--src/library/scala/collection/mutable/ObservableMap.scala6
-rw-r--r--src/library/scala/collection/mutable/ObservableSet.scala6
-rw-r--r--src/library/scala/collection/mutable/OpenHashMap.scala61
-rw-r--r--src/library/scala/collection/mutable/PriorityQueue.scala40
-rw-r--r--src/library/scala/collection/mutable/PriorityQueueProxy.scala3
-rw-r--r--src/library/scala/collection/mutable/Publisher.scala8
-rw-r--r--src/library/scala/collection/mutable/Queue.scala9
-rw-r--r--src/library/scala/collection/mutable/QueueProxy.scala4
-rw-r--r--src/library/scala/collection/mutable/ResizableArray.scala2
-rw-r--r--src/library/scala/collection/mutable/RevertibleHistory.scala11
-rw-r--r--src/library/scala/collection/mutable/Seq.scala17
-rw-r--r--src/library/scala/collection/mutable/Set.scala21
-rw-r--r--src/library/scala/collection/mutable/SetBuilder.scala2
-rw-r--r--src/library/scala/collection/mutable/Stack.scala8
-rw-r--r--src/library/scala/collection/mutable/StackProxy.scala3
-rw-r--r--src/library/scala/collection/mutable/StringBuilder.scala7
-rw-r--r--src/library/scala/collection/mutable/SynchronizedBuffer.scala6
-rw-r--r--src/library/scala/collection/mutable/SynchronizedMap.scala7
-rw-r--r--src/library/scala/collection/mutable/SynchronizedPriorityQueue.scala8
-rw-r--r--src/library/scala/collection/mutable/SynchronizedQueue.scala6
-rw-r--r--src/library/scala/collection/mutable/SynchronizedSet.scala6
-rw-r--r--src/library/scala/collection/mutable/SynchronizedStack.scala6
-rw-r--r--src/library/scala/collection/mutable/Traversable.scala8
-rw-r--r--src/library/scala/collection/mutable/Undoable.scala4
-rw-r--r--src/library/scala/collection/mutable/WeakHashMap.scala22
-rw-r--r--src/library/scala/collection/mutable/WrappedArray.scala12
-rw-r--r--src/library/scala/collection/mutable/WrappedArrayBuilder.scala5
-rw-r--r--src/library/scala/math/BigDecimal.scala6
-rw-r--r--src/library/scala/math/BigInt.scala2
-rw-r--r--src/library/scala/math/ScalaNumericConversions.scala21
-rw-r--r--src/library/scala/runtime/AbstractFunction0.scala35
-rw-r--r--src/library/scala/runtime/AbstractFunction1.scala (renamed from src/actors/scala/actors/AbstractReactor.scala)19
-rw-r--r--src/library/scala/runtime/AbstractFunction10.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction11.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction12.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction13.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction14.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction15.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction16.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction17.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction18.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction19.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction2.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction20.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction21.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction22.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction3.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction4.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction5.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction6.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction7.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction8.scala19
-rw-r--r--src/library/scala/runtime/AbstractFunction9.scala19
-rw-r--r--src/library/scala/util/Random.scala23
-rw-r--r--src/partest/scala/tools/partest/Actions.scala6
-rw-r--r--src/partest/scala/tools/partest/Alarms.scala7
-rw-r--r--src/partest/scala/tools/partest/Categories.scala9
-rw-r--r--src/partest/scala/tools/partest/Compilable.scala6
-rw-r--r--src/partest/scala/tools/partest/Entities.scala4
-rw-r--r--src/partest/scala/tools/partest/Partest.scala11
-rw-r--r--src/partest/scala/tools/partest/PartestSpec.scala2
-rw-r--r--src/partest/scala/tools/partest/Universe.scala5
-rw-r--r--src/partest/scala/tools/partest/category/AllCategories.scala2
-rw-r--r--src/partest/scala/tools/partest/category/Analysis.scala3
-rw-r--r--src/partest/scala/tools/partest/category/Compiler.scala6
-rw-r--r--src/partest/scala/tools/partest/category/Runner.scala2
-rw-r--r--src/partest/scala/tools/partest/io/Logging.scala8
-rw-r--r--src/swing/scala/swing/Table.scala6
-rw-r--r--src/swing/scala/swing/test/UIDemo.scala6
-rw-r--r--test/disabled/run/spec-matrix.check (renamed from test/files/run/spec-matrix.check)0
-rw-r--r--test/disabled/run/spec-matrix.scala (renamed from test/files/run/spec-matrix.scala)0
-rw-r--r--test/files/jvm/actor-exceptions.scala10
-rw-r--r--test/files/jvm/actor-executor.scala10
-rw-r--r--test/files/jvm/actor-executor2.scala15
-rw-r--r--test/files/jvm/actor-executor3.scala10
-rw-r--r--test/files/jvm/actor-link-getstate.scala15
-rw-r--r--test/files/jvm/actor-looping.scala5
-rw-r--r--test/files/jvm/actor-normal-exit.scala10
-rw-r--r--test/files/jvm/actor-termination.scala5
-rw-r--r--test/files/jvm/actor-uncaught-exception.scala16
-rw-r--r--test/files/jvm/actor-uncaught-exception2.scala16
-rw-r--r--test/files/jvm/daemon-actor-termination.scala10
-rw-r--r--test/files/jvm/future-alarm.scala5
-rw-r--r--test/files/jvm/future-awaitall-zero.scala5
-rw-r--r--test/files/jvm/future-termination.scala5
-rw-r--r--test/files/jvm/reactor-exceptionOnSend.scala11
-rw-r--r--test/files/jvm/reactor-producer-consumer.scala20
-rw-r--r--test/files/jvm/reactor.scala10
-rw-r--r--test/files/jvm/replyablereactor.scala10
-rw-r--r--test/files/jvm/replyablereactor2.scala10
-rw-r--r--test/files/jvm/replyablereactor3.scala10
-rw-r--r--test/files/jvm/replyablereactor4.scala10
-rw-r--r--test/files/jvm/replyreactor-react-sender.scala10
-rw-r--r--test/files/jvm/replyreactor.scala10
-rw-r--r--test/files/jvm/scheduler-adapter.scala10
-rw-r--r--test/files/jvm/t1449.scala10
-rw-r--r--test/files/jvm/t1600.scala6
-rw-r--r--test/files/jvm/t1948.scala16
-rw-r--r--test/files/jvm/t2359.scala25
-rw-r--r--test/files/jvm/t2530.scala14
-rw-r--r--test/files/jvm/t3102.scala10
-rw-r--r--test/files/run/Course-2002-10-msil.check (renamed from test/disabled/run/Course-2002-10-msil.check)0
-rw-r--r--test/files/run/Course-2002-10.check (renamed from test/disabled/run/Course-2002-10.check)0
-rw-r--r--test/files/run/Course-2002-10.scala (renamed from test/disabled/run/Course-2002-10.scala)0
-rw-r--r--test/files/run/Course-2002-13.check (renamed from test/disabled/run/Course-2002-13.check)0
-rw-r--r--test/files/run/Course-2002-13.scala (renamed from test/disabled/run/Course-2002-13.scala)0
-rw-r--r--test/files/run/json.scala.disabled (renamed from test/files/run/json.scala)8
-rw-r--r--test/files/run/numbereq.scala41
-rw-r--r--test/files/run/streamWithFilter.check (renamed from test/disabled/run/streamWithFilter.check)0
-rw-r--r--test/files/run/streamWithFilter.scala (renamed from test/disabled/run/streamWithFilter.scala)0
-rw-r--r--test/files/run/t3241.check1
-rw-r--r--test/files/run/t3241.scala23
-rw-r--r--test/files/scalacheck/redblack.scala157
-rw-r--r--test/partest-tests/jvm/actor-receivewithin.check16
-rw-r--r--test/partest-tests/jvm/actor-receivewithin.scala69
-rw-r--r--test/partest-tests/run/crash.scala6
-rw-r--r--test/partest-tests/run/streamWithFilter.check5
-rw-r--r--test/partest-tests/run/streamWithFilter.scala11
-rw-r--r--test/partest-tests/run/timeout.scala5
287 files changed, 4328 insertions, 2299 deletions
diff --git a/build.xml b/build.xml
index d59863277b..9bc22ae539 100644
--- a/build.xml
+++ b/build.xml
@@ -1129,7 +1129,7 @@ BOOTSTRAPPING BUILD (STRAP)
<scalacfork
destdir="${build-strap.dir}/classes/library"
compilerpathref="pack.classpath"
- params="${scalac.args.all} -Xpluginsdir ${build-quick.dir}/misc/scala-devel/plugins -Xplugin-require:continuations -P:continuations:enable"
+ params="${scalac.args.all} -Xpluginsdir ${build-strap.dir}/misc/scala-devel/plugins -Xplugin-require:continuations -P:continuations:enable"
srcdir="${src.dir}/continuations/library"
jvmargs="${scalacfork.jvmargs}">
<include name="**/*.scala"/>
@@ -1493,7 +1493,7 @@ BOOTRAPING TEST AND TEST SUITE
<exclude name="**/*.properties"/>
<exclude name="bin/**"/>
<exclude name="*.complete"/>
- <exclude name="plugins/*.jar"/>
+ <exclude name="misc/scala-devel/plugins/*.jar"/>
</same>
</target>
@@ -1520,6 +1520,29 @@ BOOTRAPING TEST AND TEST SUITE
</syspropertyset>
</partest>
</target>
+
+ <target name="test.partest-opt" depends="pack.done">
+ <antcall target="test.partest">
+ <param name="scalac.args.optimise" value="-optimise"/>
+ </antcall>
+ </target>
+
+ <target name="test.partest" depends="pack.done">
+ <partest classpathref="pack.classpath">
+ <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" />
+ <sysproperty key="partest.srcdir" value="partest-tests" />
+ <sysproperty key="partest.scalacopts" value="${scalac.args.all}" />
+ <sysproperty key="partest.javacopts" value="${javac.args}" />
+ <sysproperty key="partest.verbose" value="true" />
+ <sysproperty key="partest.trace" value="true" />
+ <sysproperty key="partest.debug" value="true" />
+ <sysproperty key="partest.test-timeout" value="25" />
+ <sysproperty key="partest.scalacopts" value="${scalac.args.optimise}" />
+ <syspropertyset>
+ <propertyref prefix="partest"/>
+ </syspropertyset>
+ </partest>
+ </target>
<target name="test.done" depends="test.suite, test.continuations.suite, test.stability"/>
diff --git a/src/actors/scala/actors/OutputChannel.scala b/src/actors/scala/actors/OutputChannel.scala
index 8bf92b448e..5f99f57ecf 100644
--- a/src/actors/scala/actors/OutputChannel.scala
+++ b/src/actors/scala/actors/OutputChannel.scala
@@ -18,7 +18,7 @@ package scala.actors
*
* @define actor `OutputChannel`
*/
-trait OutputChannel[-Msg] extends AbstractReactor[Msg] {
+trait OutputChannel[-Msg] {
/**
* Sends <code>msg</code> to this $actor (asynchronous).
diff --git a/src/actors/scala/actors/Reactor.scala b/src/actors/scala/actors/Reactor.scala
index a5bdcf1dd9..85dcd57189 100644
--- a/src/actors/scala/actors/Reactor.scala
+++ b/src/actors/scala/actors/Reactor.scala
@@ -195,7 +195,7 @@ trait Reactor[Msg >: Null] extends OutputChannel[Msg] with Combinators {
*
* @param handler a partial function with message patterns and actions
*/
- protected[actors] def react(handler: PartialFunction[Msg, Unit]): Nothing = {
+ protected def react(handler: PartialFunction[Msg, Unit]): Nothing = {
synchronized { drainSendBuffer(mailbox) }
searchMailbox(mailbox, handler, false)
throw Actor.suspendException
diff --git a/src/build/genprod.scala b/src/build/genprod.scala
index 099c24ef20..8217ce3c3b 100644
--- a/src/build/genprod.scala
+++ b/src/build/genprod.scala
@@ -32,7 +32,8 @@ object genprod {
def productFiles = arities map Product.make
def tupleFiles = arities map Tuple.make
def functionFiles = (0 :: arities) map Function.make
- def allfiles = productFiles ::: tupleFiles ::: functionFiles
+ def absFunctionFiles = (0 :: arities) map AbstractFunction.make
+ def allfiles = productFiles ::: tupleFiles ::: functionFiles ::: absFunctionFiles
trait Arity extends Group {
def i: Int // arity
@@ -48,8 +49,10 @@ object genprod {
def xdefs = to map ("x" + _)
def mdefs = to map ("_" + _)
def invariantArgs = typeArgsString(targs)
- def covariantArgs = typeArgsString(targs map ("+" + _))
- def contraCoArgs = typeArgsString((targs map ("-" + _)) ::: List("+R"))
+ def covariantArgs = typeArgsString(targs map (covariantSpecs + "+" + _))
+ def covariantSpecs = ""
+ def contravariantSpecs = ""
+ def contraCoArgs = typeArgsString((targs map (contravariantSpecs + "-" + _)) ::: List(covariantSpecs + "+R"))
def fields = List.map2(mdefs, targs)(_ + ":" + _) mkString ","
def funArgs = List.map2(vdefs, targs)(_ + ":" + _) mkString ","
@@ -59,6 +62,8 @@ object genprod {
def descriptiveComment = ""
def withFancy = if (descriptiveComment.isEmpty) "" else "(with fancy comment)"
def withMoreMethods = if (moreMethods.isEmpty) "" else "(with extra methods)"
+ def packageDef = "scala"
+ def imports = ""
def header = """
/* __ *\
@@ -73,8 +78,9 @@ object genprod {
%s
-package scala
-""".trim.format(genprodString) + "\n\n"
+package %s
+%s
+""".trim.format(genprodString, packageDef, imports) + "\n\n"
}
def main(args: Array[String]) {
@@ -96,7 +102,7 @@ package scala
w.close
} catch {
case e: java.io.IOException =>
- println(e.getMessage() + ": " + out)
+ println(e.getMessage() + ": " + f)
exit(-1)
}
}
@@ -112,6 +118,7 @@ import genprod._
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz */
object FunctionZero extends Function(0) {
+ override def covariantSpecs = "@specialized "
override def descriptiveComment = functionNTemplate.format("currentSeconds", "anonfun0",
""" *
* <b>val</b> currentSeconds = () => System.currentTimeMillis() / 1000L
@@ -126,6 +133,9 @@ object FunctionZero extends Function(0) {
}
object FunctionOne extends Function(1) {
+ override def contravariantSpecs = "@specialized(Int, Long, Double) "
+ override def covariantSpecs = "@specialized(Unit, Boolean, Int, Long, Double) "
+
override def descriptiveComment = functionNTemplate.format("succ", "anonfun1",
""" *
* <b>val</b> succ = (x: Int) => x + 1
@@ -149,6 +159,9 @@ object FunctionOne extends Function(1) {
}
object FunctionTwo extends Function(2) {
+ override def contravariantSpecs = "@specialized(Int, Long, Double) "
+ override def covariantSpecs = "@specialized(Unit, Boolean, Int, Long, Double) "
+
override def descriptiveComment = functionNTemplate.format("max", "anonfun2",
""" *
* <b>val</b> max = (x: Int, y: Int) => <b>if</b> (x < y) y <b>else</b> x
@@ -254,16 +267,245 @@ object Tuple
{
def make(i: Int) = apply(i)()
def apply(i: Int) = i match {
+ case 1 => TupleOne
case 2 => TupleTwo
+ case 3 => TupleThree
case _ => new Tuple(i)
}
}
+object TupleOne extends Tuple(1)
+{
+ override def covariantSpecs = "@specialized(Int, Long, Double) "
+}
+
object TupleTwo extends Tuple(2)
{
+ override def imports = """
+import scala.collection.{TraversableLike, IterableLike}
+import scala.collection.generic.CanBuildFrom
+"""
+ override def covariantSpecs = "@specialized(Int, Long, Double) "
override def moreMethods = """
/** Swap the elements of the tuple */
def swap: Tuple2[T2,T1] = Tuple2(_2, _1)
+
+ def zip[Repr1, El1, El2, To](implicit w1: T1 => TraversableLike[El1, Repr1],
+ w2: T2 => Iterable[El2],
+ cbf1: CanBuildFrom[Repr1, (El1, El2), To]): To = {
+ val coll1: TraversableLike[El1, Repr1] = _1
+ val coll2: Iterable[El2] = _2
+ val b1 = cbf1(coll1.repr)
+ val elems2 = coll2.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext)
+ b1 += ((el1, elems2.next))
+
+ b1.result
+ }
+
+ /** Wraps a tuple in a `Zipped`, which supports 2-ary generalisations of map, flatMap, filter,...
+ *
+ * @see Zipped
+ * $willNotTerminateInf
+ */
+ def zipped[Repr1, El1, Repr2, El2](implicit w1: T1 => TraversableLike[El1, Repr1], w2: T2 => IterableLike[El2, Repr2]): Zipped[Repr1, El1, Repr2, El2]
+ = new Zipped[Repr1, El1, Repr2, El2](_1, _2)
+
+ class Zipped[+Repr1, +El1, +Repr2, +El2](coll1: TraversableLike[El1, Repr1], coll2: IterableLike[El2, Repr2]) { // coll2: IterableLike for filter
+ def map[B, To](f: (El1, El2) => B)(implicit cbf: CanBuildFrom[Repr1, B, To]): To = {
+ val b = cbf(coll1.repr)
+ val elems2 = coll2.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext)
+ b += f(el1, elems2.next)
+
+ b.result
+ }
+
+ def flatMap[B, To](f: (El1, El2) => Traversable[B])(implicit cbf: CanBuildFrom[Repr1, B, To]): To = {
+ val b = cbf(coll1.repr)
+ val elems2 = coll2.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext)
+ b ++= f(el1, elems2.next)
+
+ b.result
+ }
+
+ def filter[To1, To2](f: (El1, El2) => Boolean)(implicit cbf1: CanBuildFrom[Repr1, El1, To1], cbf2: CanBuildFrom[Repr2, El2, To2]): (To1, To2) = {
+ val b1 = cbf1(coll1.repr)
+ val b2 = cbf2(coll2.repr)
+ val elems2 = coll2.iterator
+
+ for(el1 <- coll1) {
+ if(elems2.hasNext) {
+ val el2 = elems2.next
+ if(f(el1, el2)) {
+ b1 += el1
+ b2 += el2
+ }
+ }
+ }
+
+ (b1.result, b2.result)
+ }
+
+ def exists(f: (El1, El2) => Boolean): Boolean = {
+ var acc = false
+ val elems2 = coll2.iterator
+
+ for(el1 <- coll1)
+ if(!acc && elems2.hasNext)
+ acc = f(el1, elems2.next)
+
+ acc
+ }
+
+ def forall(f: (El1, El2) => Boolean): Boolean = {
+ var acc = true
+ val elems2 = coll2.iterator
+
+ for(el1 <- coll1)
+ if(acc && elems2.hasNext)
+ acc = f(el1, elems2.next)
+
+ acc
+ }
+
+ def foreach[U](f: (El1, El2) => U): Unit = {
+ val elems2 = coll2.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext)
+ f(el1, elems2.next)
+ }
+ }
+"""
+}
+
+object TupleThree extends Tuple(3) {
+ override def imports = """
+import scala.collection.{TraversableLike, IterableLike}
+import scala.collection.generic.CanBuildFrom
+"""
+ override def moreMethods = """
+ def zip[Repr1, El1, El2, El3, To](implicit w1: T1 => TraversableLike[El1, Repr1],
+ w2: T2 => Iterable[El2],
+ w3: T3 => Iterable[El3],
+ cbf1: CanBuildFrom[Repr1, (El1, El2, El3), To]): To = {
+ val coll1: TraversableLike[El1, Repr1] = _1
+ val coll2: Iterable[El2] = _2
+ val coll3: Iterable[El3] = _3
+ val b1 = cbf1(coll1.repr)
+ val elems2 = coll2.iterator
+ val elems3 = coll3.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext && elems3.hasNext)
+ b1 += ((el1, elems2.next, elems3.next))
+
+ b1.result
+ }
+
+ /** Wraps a tuple in a `Zipped`, which supports 3-ary generalisations of map, flatMap, filter,...
+ *
+ * @see Zipped
+ * $willNotTerminateInf
+ */
+ def zipped[Repr1, El1, Repr2, El2, Repr3, El3](implicit w1: T1 => TraversableLike[El1, Repr1],
+ w2: T2 => IterableLike[El2, Repr2],
+ w3: T3 => IterableLike[El3, Repr3]): Zipped[Repr1, El1, Repr2, El2, Repr3, El3]
+ = new Zipped[Repr1, El1, Repr2, El2, Repr3, El3](_1, _2, _3)
+
+ class Zipped[+Repr1, +El1, +Repr2, +El2, +Repr3, +El3](coll1: TraversableLike[El1, Repr1],
+ coll2: IterableLike[El2, Repr2],
+ coll3: IterableLike[El3, Repr3]) {
+ def map[B, To](f: (El1, El2, El3) => B)(implicit cbf: CanBuildFrom[Repr1, B, To]): To = {
+ val b = cbf(coll1.repr)
+ val elems2 = coll2.iterator
+ val elems3 = coll3.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext && elems3.hasNext)
+ b += f(el1, elems2.next, elems3.next)
+
+ b.result
+ }
+
+ def flatMap[B, To](f: (El1, El2, El3) => Traversable[B])(implicit cbf: CanBuildFrom[Repr1, B, To]): To = {
+ val b = cbf(coll1.repr)
+ val elems2 = coll2.iterator
+ val elems3 = coll3.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext && elems3.hasNext)
+ b ++= f(el1, elems2.next, elems3.next)
+
+ b.result
+ }
+
+ def filter[To1, To2, To3](f: (El1, El2, El3) => Boolean)(
+ implicit cbf1: CanBuildFrom[Repr1, El1, To1],
+ cbf2: CanBuildFrom[Repr2, El2, To2],
+ cbf3: CanBuildFrom[Repr3, El3, To3]): (To1, To2, To3) = {
+ val b1 = cbf1(coll1.repr)
+ val b2 = cbf2(coll2.repr)
+ val b3 = cbf3(coll3.repr)
+ val elems2 = coll2.iterator
+ val elems3 = coll3.iterator
+
+ for(el1 <- coll1) {
+ if(elems2.hasNext && elems3.hasNext) {
+ val el2 = elems2.next
+ val el3 = elems3.next
+ if(f(el1, el2, el3)) {
+ b1 += el1
+ b2 += el2
+ b3 += el3
+ }
+ }
+ }
+
+ (b1.result, b2.result, b3.result)
+ }
+
+ def exists(f: (El1, El2, El3) => Boolean): Boolean = {
+ var acc = false
+ val elems2 = coll2.iterator
+ val elems3 = coll3.iterator
+
+ for(el1 <- coll1)
+ if(!acc && elems2.hasNext && elems3.hasNext)
+ acc = f(el1, elems2.next, elems3.next)
+
+ acc
+ }
+
+ def forall(f: (El1, El2, El3) => Boolean): Boolean = {
+ var acc = true
+ val elems2 = coll2.iterator
+ val elems3 = coll3.iterator
+
+ for(el1 <- coll1)
+ if(acc && elems2.hasNext && elems3.hasNext)
+ acc = f(el1, elems2.next, elems3.next)
+
+ acc
+ }
+
+ def foreach[U](f: (El1, El2, El3) => U): Unit = {
+ val elems2 = coll2.iterator
+ val elems3 = coll3.iterator
+
+ for(el1 <- coll1)
+ if(elems2.hasNext && elems3.hasNext)
+ f(el1, elems2.next, elems3.next)
+ }
+ }
"""
}
@@ -271,7 +513,7 @@ class Tuple(val i: Int) extends Group("Tuple") with Arity
{
// prettifies it a little if it's overlong
def mkToString() = {
- def str(xs: List[String]) = xs.mkString(""" + "," + """)
+ def str(xs: List[String]) = xs.mkString(""" + "," + """)
if (i <= MAX_ARITY / 2) str(mdefs)
else {
val s1 = str(mdefs take (i / 2))
@@ -303,7 +545,21 @@ zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz */
object Product extends Group("Product")
{
def make(i: Int) = apply(i)()
- def apply(i: Int) = new Product(i)
+ def apply(i: Int) = i match {
+ case 1 => ProductOne
+ case 2 => ProductTwo
+ case _ => new Product(i)
+ }
+}
+
+object ProductOne extends Product(1)
+{
+ override def covariantSpecs = "@specialized(Int, Long, Double) "
+}
+
+object ProductTwo extends Product(2)
+{
+ override def covariantSpecs = "@specialized(Int, Long, Double) "
}
class Product(val i: Int) extends Group("Product") with Arity
@@ -354,3 +610,44 @@ trait {className}{covariantArgs} extends Product {{
</file>}
}
+
+/** Abstract functions **/
+
+object AbstractFunctionZero extends AbstractFunction(0) {
+ override def covariantSpecs = FunctionZero.covariantSpecs
+}
+
+object AbstractFunctionOne extends AbstractFunction(1) {
+ override def covariantSpecs = FunctionOne.covariantSpecs
+ override def contravariantSpecs = FunctionOne.contravariantSpecs
+}
+
+object AbstractFunctionTwo extends AbstractFunction(2) {
+ override def covariantSpecs = FunctionTwo.covariantSpecs
+ override def contravariantSpecs = FunctionTwo.contravariantSpecs
+}
+
+class AbstractFunction(val i: Int) extends Group("AbstractFunction") with Arity
+{
+ override def packageDef = "scala.runtime"
+
+ val superTypeArgs = typeArgsString(targs ::: List("R"))
+
+ def apply() = {
+<file name={"runtime/" + fileName}>{header}
+abstract class {className}{contraCoArgs} extends Function{i}{superTypeArgs} {{
+{moreMethods}
+}}
+</file>}
+
+}
+object AbstractFunction
+{
+ def make(i: Int) = apply(i)()
+ def apply(i: Int) = i match {
+ case 0 => AbstractFunctionZero
+ case 1 => AbstractFunctionOne
+ case 2 => AbstractFunctionTwo
+ case _ => new AbstractFunction(i)
+ }
+}
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index 3e54b68daf..16bff5d399 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -255,6 +255,8 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
override def flatClasses: Boolean = isFlat
private val isDevirtualized = prev.name == "devirtualize" || prev.devirtualized
override def devirtualized: Boolean = isDevirtualized // (part of DEVIRTUALIZE)
+ private val isSpecialized = prev.name == "specialize" || prev.specialized
+ override def specialized: Boolean = isSpecialized
/** Is current phase cancelled on this unit? */
def cancelled(unit: CompilationUnit) =
diff --git a/src/compiler/scala/tools/nsc/Phase.scala b/src/compiler/scala/tools/nsc/Phase.scala
index cd5a399c12..98f0f840ff 100644
--- a/src/compiler/scala/tools/nsc/Phase.scala
+++ b/src/compiler/scala/tools/nsc/Phase.scala
@@ -34,6 +34,7 @@ abstract class Phase(val prev: Phase) {
// Will running with -Ycheck:name work?
def checkable: Boolean = true
def devirtualized: Boolean = false
+ def specialized: Boolean = false
def erasedTypes: Boolean = false
def flatClasses: Boolean = false
def keepsTypeParams = true
diff --git a/src/compiler/scala/tools/nsc/ast/DocComments.scala b/src/compiler/scala/tools/nsc/ast/DocComments.scala
index febb4b221d..ddf4fb0a23 100755
--- a/src/compiler/scala/tools/nsc/ast/DocComments.scala
+++ b/src/compiler/scala/tools/nsc/ast/DocComments.scala
@@ -90,7 +90,7 @@ trait DocComments { self: SymbolTable =>
getDocComment(sym) map getUseCases getOrElse List()
}
- def useCases(sym: Symbol): List[(Symbol, String, Position)] = useCases(sym, sym)
+ def useCases(sym: Symbol): List[(Symbol, String, Position)] = useCases(sym, sym.enclClass)
/** Returns the javadoc format of doc comment string `s`, including wiki expansion
*/
diff --git a/src/compiler/scala/tools/nsc/ast/TreeGen.scala b/src/compiler/scala/tools/nsc/ast/TreeGen.scala
index f8678ce24e..cc3581c3f8 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeGen.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeGen.scala
@@ -31,10 +31,13 @@ abstract class TreeGen
private def isRootOrEmptyPackageClass(s: Symbol) = s.isRoot || s.isEmptyPackageClass
- def scalaFunctionConstr(argtpes: List[Tree], restpe: Tree): Tree =
- AppliedTypeTree(
- scalaDot(newTypeName("Function"+argtpes.length)),
- argtpes ::: List(restpe))
+ def scalaFunctionConstr(argtpes: List[Tree], restpe: Tree, abstractFun: Boolean = false): Tree = {
+ val cls = if (abstractFun)
+ mkAttributedRef(AbstractFunctionClass(argtpes.length))
+ else
+ mkAttributedRef(FunctionClass(argtpes.length))
+ AppliedTypeTree(cls, argtpes ::: List(restpe))
+ }
/** Builds a reference to value whose type is given stable prefix.
* The type must be suitable for this. For example, it
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index c587b8342c..5318c76311 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -874,7 +874,7 @@ abstract class GenJVM extends SubComponent {
atPhase(currentRun.picklerPhase) (
m.owner != definitions.ObjectClass
&& m.isMethod
- && !m.hasFlag(Flags.CASE | Flags.PROTECTED | Flags.DEFERRED)
+ && !m.hasFlag(Flags.CASE | Flags.PROTECTED | Flags.DEFERRED | Flags.SPECIALIZED)
&& !m.isConstructor
&& !m.isStaticMember
&& !(m.owner == definitions.AnyClass)
diff --git a/src/compiler/scala/tools/nsc/dependencies/Files.scala b/src/compiler/scala/tools/nsc/dependencies/Files.scala
index 09f694b6ca..194351a13f 100644
--- a/src/compiler/scala/tools/nsc/dependencies/Files.scala
+++ b/src/compiler/scala/tools/nsc/dependencies/Files.scala
@@ -1,47 +1,48 @@
package scala.tools.nsc
-package dependencies;
+package dependencies
import java.io.{InputStream, OutputStream, PrintStream, InputStreamReader, BufferedReader}
-import io.{AbstractFile, PlainFile}
+import io.{AbstractFile, PlainFile, VirtualFile}
-import scala.collection._;import scala.tools.nsc.io.VirtualFile
+import scala.collection._
trait Files { self : SubComponent =>
- class FileDependencies(val classpath : String) {
+ class FileDependencies(val classpath: String) {
import FileDependencies._
- class Tracker extends mutable.OpenHashMap[AbstractFile, mutable.Set[AbstractFile]]{
+ class Tracker extends mutable.OpenHashMap[AbstractFile, mutable.Set[AbstractFile]] {
override def default(key: AbstractFile) = {
- this(key) = new mutable.HashSet[AbstractFile];
- this(key);
+ this(key) = new mutable.HashSet[AbstractFile]
+ this(key)
}
}
val dependencies = new Tracker
- val targets = new Tracker;
+ val targets = new Tracker
def isEmpty = dependencies.isEmpty && targets.isEmpty
def emits(source: AbstractFile, result: AbstractFile) =
- targets(source) += result;
+ targets(source) += result
def depends(from: AbstractFile, on: AbstractFile) =
- dependencies(from) += on;
+ dependencies(from) += on
- def reset(file: AbstractFile) = dependencies -= file;
+ def reset(file: AbstractFile) = dependencies -= file
- def cleanEmpty() = {
- dependencies foreach {case (key, value) => value.retain(x => x.exists && (x ne RemovedFile))}
- dependencies.retain((key, value) => key.exists && !value.isEmpty)
- targets foreach {case (key, value) => value.retain(_.exists)}
- targets.retain((key, value) => key.exists && !value.isEmpty)
+ def cleanEmpty = {
+ dependencies foreach {case (_, value) =>
+ value retain (x => x.exists && (x ne removedFile))}
+ dependencies retain ((key, value) => key.exists && !value.isEmpty)
+ targets foreach {case (_, value) => value retain (_.exists)}
+ targets retain ((key, value) => key.exists && !value.isEmpty)
}
def containsFile(f: AbstractFile) = targets.contains(f.absolute)
- def invalidatedFiles(maxDepth : Int) = {
- val direct = new mutable.HashSet[AbstractFile];
+ def invalidatedFiles(maxDepth: Int) = {
+ val direct = new mutable.HashSet[AbstractFile]
for ((file, products) <- targets) {
// This looks a bit odd. It may seem like one should invalidate a file
@@ -53,34 +54,33 @@ trait Files { self : SubComponent =>
val indirect = dependentFiles(maxDepth, direct)
- for ((source, targets) <- targets;
- if direct(source) || indirect(source) || (source eq RemovedFile)){
- targets.foreach(_.delete);
- targets -= source;
+ for ((source, targets) <- targets
+ if direct(source) || indirect(source) || (source eq removedFile)) {
+ targets foreach (_.delete)
+ targets -= source
}
- (direct, indirect);
+ (direct, indirect)
}
/** Return the set of files that depend on the given changed files.
* It computes the transitive closure up to the given depth.
*/
def dependentFiles(depth: Int, changed: Set[AbstractFile]): Set[AbstractFile] = {
- val indirect = new mutable.HashSet[AbstractFile];
- val newInvalidations = new mutable.HashSet[AbstractFile];
+ val indirect = new mutable.HashSet[AbstractFile]
+ val newInvalidations = new mutable.HashSet[AbstractFile]
- def invalid(file: AbstractFile) = indirect(file) || changed(file) || (file eq RemovedFile)
+ def invalid(file: AbstractFile) =
+ indirect(file) || changed(file) || (file eq removedFile)
- def go(i : Int) : Unit = if(i > 0){
- newInvalidations.clear;
- for((target, depends) <- dependencies;
- if !invalid(target);
- d <- depends){
+ def go(i: Int) : Unit = if(i > 0) {
+ newInvalidations.clear
+ for((target, depends) <- dependencies if !invalid(target);
+ d <- depends)
newInvalidations(target) ||= invalid(d)
- }
- indirect ++= newInvalidations;
- if(!newInvalidations.isEmpty) go(i - 1);
- else ()
+
+ indirect ++= newInvalidations
+ if (!newInvalidations.isEmpty) go(i - 1)
}
go(depth)
@@ -88,65 +88,73 @@ trait Files { self : SubComponent =>
indirect --= changed
}
- def writeTo(file: AbstractFile, fromFile : AbstractFile => String) {
+ def writeTo(file: AbstractFile, fromFile: AbstractFile => String): Unit =
writeToFile(file)(out => writeTo(new PrintStream(out), fromFile))
- }
-
- def writeTo(print : PrintStream, fromFile : AbstractFile => String) : Unit = {
- cleanEmpty();
- def emit(tracker : Tracker){
- for ((f, ds) <- tracker;
- d <- ds){
- print.println(fromFile(f) + " -> " + fromFile(d));
- }
- }
- print.println(classpath);
- print.println(FileDependencies.Separator)
- emit(dependencies);
- print.println(FileDependencies.Separator)
- emit(targets);
+ def writeTo(print: PrintStream, fromFile: AbstractFile => String): Unit = {
+ def emit(tracker: Tracker) =
+ for ((f, ds) <- tracker; d <- ds) print.println(fromFile(f) + arrow + fromFile(d))
+ cleanEmpty
+ print.println(classpath)
+ print.println(separator)
+ emit(dependencies)
+ print.println(separator)
+ emit(targets)
}
}
- object FileDependencies{
- val Separator = "-------";
- private val RemovedFile = new VirtualFile("removed")
-
- def readFrom(file: AbstractFile, toFile : String => AbstractFile): Option[FileDependencies] = readFromFile(file) { in =>
- val reader = new BufferedReader(new InputStreamReader(in))
- val it = new FileDependencies(reader.readLine)
- reader.readLine
- var line : String = null
- while ({line = reader.readLine; (line != null) && (line != Separator)}){
- line.split(" -> ") match {
- case Array(from, on) =>
- (toFile(from), toFile(on)) match {
- case (null, _) => // fromFile is removed, it's ok
- case (fromFile, null) => it.depends(fromFile, RemovedFile) // onFile is removed, should recompile fromFile
- case (fromFile, onFile) => it.depends(fromFile, onFile)
+ object FileDependencies {
+ private val separator:String = "-------"
+ private val arrow = " -> "
+ private val removedFile = new VirtualFile("removed")
+
+ private def validLine(l: String) = (l != null) && (l != separator)
+
+ def readFrom(file: AbstractFile, toFile: String => AbstractFile): Option[FileDependencies] =
+ readFromFile(file) { in =>
+ val reader = new BufferedReader(new InputStreamReader(in))
+ val it = new FileDependencies(reader.readLine)
+
+ def readLines(valid: Boolean)(f: (AbstractFile, AbstractFile) => Unit): Boolean = {
+ var continue = valid
+ var line: String = null
+ while (continue && {line = reader.readLine; validLine(line)}) {
+ line.split(arrow) match {
+ case Array(from, on) => f(toFile(from), toFile(on))
+ case _ =>
+ global.inform("Parse error: Unrecognised string " + line)
+ continue = false
}
- case x => global.inform("Parse error: Unrecognised string " + line); return None
+ }
+ continue
}
- }
- while ({line = reader.readLine; (line != null) && (line != Separator)}){
- line.split(" -> ") match {
- case Array(source, target) =>
- val targetFile = toFile(target)
- (toFile(source), toFile(target)) match {
- case (null, null) => // source and target are all removed, it's ok
- case (null, targetFile) => it.emits(RemovedFile, targetFile) // source is removed, should remove relative target later
- case (_, null) => // it may has been cleaned outside, or removed during last phase
- case (sourceFile, targetFile) => it.emits(sourceFile, targetFile)
- }
- case x => global.inform("Parse error: Unrecognised string " + line); return None
- }
+ reader.readLine
+
+ val dResult = readLines(true)(
+ (_, _) match {
+ case (null, _) => // fromFile is removed, it's ok
+ case (fromFile, null) =>
+ // onFile is removed, should recompile fromFile
+ it.depends(fromFile, removedFile)
+ case (fromFile, onFile) => it.depends(fromFile, onFile)
+ })
+
+ readLines(dResult)(
+ (_, _) match {
+ case (null, null) =>
+ // source and target are all removed, it's ok
+ case (null, targetFile) =>
+ // source is removed, should remove relative target later
+ it.emits(removedFile, targetFile)
+ case (_, null) =>
+ // it may has been cleaned outside, or removed during last phase
+ case (sourceFile, targetFile) => it.emits(sourceFile, targetFile)
+ })
+
+ Some(it)
}
-
- Some(it)
- }
}
def writeToFile[T](file: AbstractFile)(f: OutputStream => T) : T = {
diff --git a/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala b/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala
index 74ec740204..ae98ecf1f6 100644
--- a/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala
+++ b/src/compiler/scala/tools/nsc/doc/html/HtmlPage.scala
@@ -167,6 +167,7 @@ abstract class HtmlPage { thisPage =>
case EntityLink(entity) => templateToHtml(entity)
case Monospace(text) => <code>{ Unparsed(text) }</code>
case Text(text) => Unparsed(text)
+ case Summary(in) => inlineToHtml(in)
}
def typeToHtml(tpe: model.TypeEntity, hasLinks: Boolean): NodeSeq = {
diff --git a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala
index d90e3d2f64..41a7de93bd 100644
--- a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala
+++ b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala
@@ -267,9 +267,12 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage {
if (tpl.isPackage) "package" else if (tpl.isClass) "class" else if (tpl.isTrait) "trait" else "object"
case ctor: Constructor => "new"
case tme: MemberEntity =>
- val attr: String = if (tme.isImplicit) "implicit " else ""
- val kind = if (tme.isDef) "def" else if (tme.isVal) "val" else if (tme.isVar) "var" else "type"
- attr + kind
+ ( if (tme.isImplicit) "implicit " else "" ) +
+ ( if (tme.isDef) "def"
+ else if (tme.isVal) "val"
+ else if (tme.isLazyVal) "lazy val"
+ else if (tme.isVar) "var"
+ else "type")
}
def boundsToHtml(hi: Option[TypeEntity], lo: Option[TypeEntity], hasLinks: Boolean): NodeSeq = {
@@ -357,7 +360,7 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage {
case Some(st) => <span class="result"> extends { typeToHtml(st, hasLinks) }</span>
case None =>NodeSeq.Empty
}
- case tme: MemberEntity if (tme.isDef || tme.isVal || tme.isVar) =>
+ case tme: MemberEntity if (tme.isDef || tme.isVal || tme.isLazyVal || tme.isVar) =>
<span class="result">: { typeToHtml(tme.resultType, hasLinks) }</span>
case abt: AbstractType =>
val b2s = boundsToHtml(abt.hi, abt.lo, hasLinks)
@@ -374,6 +377,8 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage {
mbr match {
case dte: DocTemplateEntity if !isSelf =>
<h4 class="signature"><a href={ relativeLinkTo(dte) }>{ inside(hasLinks = false) }</a></h4>
+ case _ if isSelf =>
+ <h4 id="signature" class="signature">{ inside(hasLinks = true) }</h4>
case _ =>
<h4 class="signature">{ inside(hasLinks = true) }</h4>
}
diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/class.png b/src/compiler/scala/tools/nsc/doc/html/resource/lib/class.png
index c6e3841e53..25a8b4c185 100644
--- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/class.png
+++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/class.png
Binary files differ
diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/class_big.png b/src/compiler/scala/tools/nsc/doc/html/resource/lib/class_big.png
index 1969cff9e2..51e85957fe 100644
--- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/class_big.png
+++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/class_big.png
Binary files differ
diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/index.css b/src/compiler/scala/tools/nsc/doc/html/resource/lib/index.css
index 63a2ffaa71..0bae7dbc3a 100644
--- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/index.css
+++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/index.css
@@ -41,7 +41,7 @@ h1 {
right: 0;
left: 0;
top: 0;
- background-color: grey;
+ background-color: #B78E99;
}
#textfilter {
@@ -124,14 +124,14 @@ h1 {
float: right;
font-weight: normal;
color: white;
- padding: 1px 4px 1px 4px;
+ padding: 1px 0.5em 1px 4px;
}
#tpl .packages > li > h3 {
display: block;
- background-color: #142556;
+ background-color: #2C475C;
color: white;
- padding: 1px 4px 1px 4px;
+ padding: 1px 4px 1px 0.5em;
font-weight: bold;
display: block;
}
@@ -140,6 +140,10 @@ h1 {
display: block;
}
+#tpl .templates > li {
+ padding-left: 0.5em;
+}
+
#tpl ol > li .icon {
bottom: -2px;
position: relative;
diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css b/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css
index 5c8822b1c1..f315a283b6 100644
--- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css
+++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css
@@ -1,159 +1,191 @@
* {
- color: black;
- text-decoration: none;
- font-family: inherit;
- font-size: inherit;
- font-weight: normal;
- border-width: 0px;
- padding: 0px;
- margin: 0px;
+ color: black;
+ text-decoration: none;
+ font-family: inherit;
+ font-size: inherit;
+ font-weight: normal;
+ border-width: 0px;
+ padding: 0px;
+ margin: 0px;
}
body {
- font-family: sans-serif;
- font-size: 10pt;
+ font-family: sans-serif;
+ font-size: 10pt;
}
a {
- cursor: pointer;
+ cursor: pointer;
+ text-decoration: underline;
+ color: #69481D; /* brown */
}
a:hover {
- text-decoration: underline;
+ text-decoration: none;
}
#owner {
- padding: 4px;
- font-size: 12pt;
- display: block;
+ padding: 4px;
+ font-size: 12pt;
+ display: block;
+}
+
+#owner a {
+ color: black;
}
.value #owner {
- background-color: #ced8f4;
+ background-color: #7996AC;
}
.type #owner {
- background-color: #f4cece;
+ background-color: #799F5A;
}
#definition {
- display: block;
- padding: 6px;
+ display: block;
+ padding: 6px;
}
#definition > img {
- float: left;
+ float: left;
}
#definition > h1 {
- padding: 12px 0 12px 6px;
- color: white;
- font-size: 24pt;
- display: inline-block;
+ padding: 12px 0 12px 6px;
+ color: white;
+ font-size: 24pt;
+ display: inline-block;
+}
+
+#signature > span.kind {
+ font-size: 11pt;
+ display: inline;
+ float: left;
+ text-align: left;
+ width: auto;
+ padding-left: 6px;
+}
+
+#signature > span.symbol {
+ font-size: 11pt;
+ text-align: left;
}
.value #definition {
- background-color: #142556;
+ background-color: #2C475C;
}
.type #definition {
- background-color: #561414;
+ background-color: #385E1A;
}
#comment {
- padding-left: 8px;
+ padding-left: 8px;
}
#values > h3 {
- color: white;
- padding: 4px;
- background-color: #142556;
- font-size: 12pt;
- font-weight: bold;
+ color: white;
+ padding: 4px;
+ background-color: #7996AC;
+ font-size: 12pt;
+ font-weight: bold;
}
#types > h3 {
- padding: 4px;
- color: white;
- font-weight: bold;
- font-size: 12pt;
- background-color: #561414;
+ padding: 4px;
+ color: white;
+ font-weight: bold;
+ font-size: 12pt;
+ background-color: #799F5A;
}
#constructors > h3 {
- padding: 4px;
- color: white;
- font-weight: bold;
- font-size: 12pt;
- background-color: #000000;
+ padding: 4px;
+ color: white;
+ font-weight: bold;
+ font-size: 12pt;
+ background-color: #333;
}
/* Member cells */
div.members > ol {
- background-color: white;
- list-style: none
+ background-color: white;
+ list-style: none
}
div.members > ol > li {
- display: block;
+ display: block;
}
/* Member signatures */
#tooltip {
- background: #142556;
- border: 2px solid white;
- color: white;
- display: none;
- padding: 5px;
- position: absolute;
+ background: #EFD5B5;
+ border: 1px solid gray;
+ color: black;
+ display: none;
+ padding: 5px;
+ position: absolute;
}
.signature {
- padding: 1px;
- font-family: monospace;
- font-size: 10pt;
- clear: both;
- display: block;
- background-color: #dddddd;
+ padding: 3px;
+ font-family: monospace;
+ font-size: 10pt;
+ clear: both;
+ display: block;
+ background-color: #E5E5E5;
}
.signature .kind {
- text-align: right;
- float: left;
- display: inline-block;
- width: 7em;
+ text-align: right;
+ float: left;
+ display: inline-block;
+ width: 8em;
+}
+
+.signature > a > .symbol > .name {
+ text-decoration: underline;
+}
+
+.signature > a:hover > .symbol > .name {
+ text-decoration: none;
+}
+
+.signature > a {
+ text-decoration: none;
}
.signature .symbol {
- display: inline;
- padding-left: 0.7em;
+ display: inline;
+ padding-left: 0.7em;
}
.signature .name {
- display: inline-block;
- font-weight: bold;
+ display: inline-block;
+ font-weight: bold;
}
.signature .symbol .params .implicit {
- font-style: italic;
+ font-style: italic;
}
.signature .symbol .name.deprecated {
- text-decoration: line-through;
+ text-decoration: line-through;
}
.signature .symbol .params .default {
- font-style: italic;
+ font-style: italic;
}
#values .signature .name {
- color: blue;
+ color: blue;
}
#types .signature .name {
- color: red;
+ color: green;
}
/* Comments text formating */
@@ -161,169 +193,181 @@ div.members > ol > li {
.cmt {}
.cmt p {
- margin: 2px 0 2px 0;
+ margin: 2px 0 2px 0;
}
.cmt code {
- font-family: monospace;
- font-size: small;
+ font-family: monospace;
+/* font-size: small;*/
}
.cmt pre {
- display: block;
- font-family: monospace;
- font-size: small;
- margin: 2px 0 2px 0;
+ display: block;
+ font-family: monospace;
+/* font-size: small;*/
+ margin: 2px 0 2px 0;
}
.cmt ul {
- display: block;
- list-style: circle;
- padding-left:20px;
+ display: block;
+ list-style: circle;
+ padding-left:20px;
}
.cmt ol {
- display: block;
- padding-left:20px;
+ display: block;
+ padding-left:20px;
}
.cmt ol.decimal {
- list-style: decimal;
+ list-style: decimal;
}
.cmt ol.lowerAlpha {
- list-style: lower-alpha;
+ list-style: lower-alpha;
}
.cmt ol.upperAlpha {
- list-style: upper-alpha;
+ list-style: upper-alpha;
}
.cmt ol.lowerRoman {
- list-style: lower-roman;
+ list-style: lower-roman;
}
.cmt ol.upperRoman {
- list-style: upper-roman;
+ list-style: upper-roman;
}
.cmt li {
- display:list-item;
+ display:list-item;
}
.cmt a {
- text-decoration: underline;
+ text-decoration: underline;
}
/* Comments structured layout */
p.comment {
- display: block;
- margin-left: 7.7em;
+ display: block;
+ margin-left: 8.7em;
}
p.shortcomment {
- display: block;
- margin-left: 7.7em;
- cursor: help;
+ display: block;
+ margin-left: 8.7em;
+ cursor: help;
}
div.fullcomment {
- display: block;
- margin: 10px 0 10px 0;
+ display: block;
+ margin: 10px 0 10px 0;
}
#template div.fullcomment {
- margin: 6px 0 6px 7.7em;
+ margin: 6px 0 6px 8.7em;
}
div.fullcomment .block {
- padding: 2px 0 2px 0;
- border-top: 1px solid black;
- border-bottom: 1px solid black;
+ padding: 2px 0 2px 0;
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
}
div.fullcomment div.block ol li p,
div.fullcomment div.block ol li {
- display:inline
+ display:inline
}
div.fullcomment .block + .block {
- border-top: none;
+ border-top: none;
}
div.fullcomment .block > h5 {
- font-style: italic;
- font-weight: normal;
- display: inline-block;
+ font-style: italic;
+ font-weight: normal;
+ display: inline-block;
}
div.fullcomment .comment {
- margin: 6px 0 6px 0;
+ margin: 6px 0 6px 0;
}
div.fullcomment dl.paramcmts > dt {
- display: block;
- float: left;
- font-weight: bold;
- margin: 2px 4px 2px 0;
+ display: block;
+ float: left;
+ font-weight: bold;
+ margin: 2px 4px 2px 0;
}
div.fullcomment dl.paramcmts > dd {
- display: block;
- padding-left: 80px;
- border-top: 1px dashed black;
- border-bottom: 1px dashed black;
+ display: block;
+ padding-left: 80px;
+ border-top: 1px dashed gray;
+ border-bottom: 1px dashed gray;
}
div.fullcomment dl.paramcmts > dt:first-child + dd {
- border-top: none;
+ border-top: none;
}
div.fullcomment dl.paramcmts > dd:last-child {
- border-bottom: none;
+ border-bottom: none;
}
div.fullcomment dl.paramcmts > dd + dt + dd {
- border-top: none;
+ border-top: none;
}
/* Members filter tool */
#mbrsel {
- padding: 4px;
- background-color: #cccccc;
- display: block;
+ padding: 4px;
+ background-color: #B78E99; /* grayish pink */
+ display: block;
+ margin-bottom: 10px;
}
#mbrsel > div > h3 {
- padding: 4px;
- display: inline;
+ padding: 4px;
+ display: inline;
+ color: white;
}
#mbrsel > div > ol {
- display: inline-block;
- background-color: white;
+ display: inline-block;
+ background-color: white;
}
#mbrsel > div > ol#linearization {
- display: inline;
+ display: inline;
}
#mbrsel > div > ol > li {
- padding: 4px 8px 4px 8px;
- font-weight: bold;
- background-color: white;
- display: inline-block;
- cursor: crosshair;
+ padding: 4px 8px 4px 8px;
+/* font-weight: bold;*/
+ background-color: white;
+ display: inline-block;
+ cursor: crosshair;
}
#mbrsel > div > ol > li.in {
- background-color: white;
+ background-color: white;
+ color: #4C4C4C;
}
#mbrsel > div > ol > li.out {
- color: #888888;
- background-color: #bbbbbb;
+ color: #80384E;
+ background-color: #9E6A77;
+}
+
+#mbrsel .hideall {
+ color: #4C4C4C;
+ font-weight: bold;
}
+#mbrsel .showall {
+ color: #4C4C4C;
+ font-weight: bold;
+} \ No newline at end of file
diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait.png b/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait.png
index b1b043080a..b3871a01c4 100644
--- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait.png
+++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait.png
Binary files differ
diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait_big.png b/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait_big.png
index 63be0d7a3a..a44871309e 100644
--- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait_big.png
+++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/trait_big.png
Binary files differ
diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/type_tags.ai b/src/compiler/scala/tools/nsc/doc/html/resource/lib/type_tags.ai
index 5d5d25ee98..b56fd1d3cd 100644
--- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/type_tags.ai
+++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/type_tags.ai
@@ -1,5 +1,5 @@
%PDF-1.5 %âãÏÓ
-1 0 obj <</Metadata 961 0 R/Pages 2 0 R/OCProperties<</D<</RBGroups[]/ON[37 0 R 65 0 R 78 0 R 90 0 R 116 0 R 129 0 R 141 0 R 167 0 R 180 0 R 192 0 R 218 0 R 237 0 R 255 0 R 287 0 R 306 0 R 324 0 R 356 0 R 375 0 R 393 0 R 425 0 R 444 0 R 462 0 R 480 0 R 515 0 R 534 0 R 552 0 R 570 0 R 605 0 R 624 0 R 642 0 R 660 0 R 695 0 R 699 0 R 718 0 R 735 0 R 753 0 R 785 0 R 789 0 R 808 0 R 825 0 R 843 0 R 878 0 R 882 0 R 901 0 R 918 0 R 936 0 R]/OFF[15 0 R 27 0 R]/Order 877 0 R>>/OCGs[15 0 R 27 0 R 37 0 R 65 0 R 78 0 R 90 0 R 116 0 R 129 0 R 141 0 R 167 0 R 180 0 R 192 0 R 218 0 R 237 0 R 255 0 R 287 0 R 306 0 R 324 0 R 356 0 R 375 0 R 393 0 R 425 0 R 444 0 R 462 0 R 480 0 R 515 0 R 534 0 R 552 0 R 570 0 R 605 0 R 624 0 R 642 0 R 660 0 R 695 0 R 699 0 R 718 0 R 735 0 R 753 0 R 785 0 R 789 0 R 808 0 R 825 0 R 843 0 R 878 0 R 882 0 R 901 0 R 918 0 R 936 0 R]>>/Type/Catalog>> endobj 961 0 obj <</Subtype/XML/Length 44678/Type/Metadata>>stream
+1 0 obj <</Metadata 1054 0 R/Pages 2 0 R/OCProperties<</D<</RBGroups[]/ON[37 0 R 65 0 R 78 0 R 90 0 R 116 0 R 129 0 R 141 0 R 167 0 R 180 0 R 192 0 R 218 0 R 237 0 R 255 0 R 287 0 R 306 0 R 324 0 R 356 0 R 375 0 R 393 0 R 425 0 R 444 0 R 462 0 R 480 0 R 515 0 R 534 0 R 552 0 R 570 0 R 605 0 R 624 0 R 642 0 R 660 0 R 695 0 R 699 0 R 718 0 R 735 0 R 753 0 R 785 0 R 789 0 R 808 0 R 825 0 R 843 0 R 878 0 R 882 0 R 901 0 R 918 0 R 936 0 R 971 0 R 975 0 R 994 0 R 1011 0 R 1029 0 R]/OFF[15 0 R 27 0 R]/Order 970 0 R>>/OCGs[15 0 R 27 0 R 37 0 R 65 0 R 78 0 R 90 0 R 116 0 R 129 0 R 141 0 R 167 0 R 180 0 R 192 0 R 218 0 R 237 0 R 255 0 R 287 0 R 306 0 R 324 0 R 356 0 R 375 0 R 393 0 R 425 0 R 444 0 R 462 0 R 480 0 R 515 0 R 534 0 R 552 0 R 570 0 R 605 0 R 624 0 R 642 0 R 660 0 R 695 0 R 699 0 R 718 0 R 735 0 R 753 0 R 785 0 R 789 0 R 808 0 R 825 0 R 843 0 R 878 0 R 882 0 R 901 0 R 918 0 R 936 0 R 971 0 R 975 0 R 994 0 R 1011 0 R 1029 0 R]>>/Type/Catalog>> endobj 1054 0 obj <</Subtype/XML/Length 44482/Type/Metadata>>stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.277092, Fri Feb 23 2007 14:16:18 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
@@ -17,15 +17,15 @@
xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/">
<xap:CreatorTool>Adobe Illustrator CS3</xap:CreatorTool>
<xap:CreateDate>2009-11-23T17:10:12+01:00</xap:CreateDate>
- <xap:ModifyDate>2009-11-24T11:35:55+01:00</xap:ModifyDate>
- <xap:MetadataDate>2009-11-24T11:35:55+01:00</xap:MetadataDate>
+ <xap:ModifyDate>2010-04-13T20:05:12+02:00</xap:ModifyDate>
+ <xap:MetadataDate>2010-04-13T20:05:12+02:00</xap:MetadataDate>
<xap:Thumbnails>
<rdf:Alt>
<rdf:li rdf:parseType="Resource">
<xapGImg:width>256</xapGImg:width>
<xapGImg:height>208</xapGImg:height>
<xapGImg:format>JPEG</xapGImg:format>
- <xapGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA0AEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXlX54yWv13ynbe&#xA;YJ5YPIt1eTJ5h9NiqPIsYeySUp+84F0cmm21eoXMrT3Uq+rown07kF+VVxocf5iarp3kyXn5TTTI&#xA;p9Sht3kmso9WaUIPRklHL4oVbcfap/kik9QSYAy+q/sYw57PYswm12KuxV2KuxV2KuxV2KuxVIfN&#xA;nnvyn5Sht5vMOopYrdOUt1KySu5UVYrHEsj8V2q1KCo8RlmPFKfIIMgOaK8t+aNB8y6YNT0O8W9s&#xA;i7RmRQyFXTqro4V0O4NGA2IPQjBkxygakFBB5JpkEuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2K&#xA;uxV2KuxV2KqdzbW91by21zEk9tMpjmhkUOjowoysrVBBGxBwg0qnp+m6dptollp1rDZWcVfTtreN&#xA;Yol5Es3FECqKsSTiZEmytIjArsVdirsVdirsVdirsVdirzfzhoWrWf5gv5xS2nu9MTy7caaYrFPW&#xA;uxdCYyxqkPCSvqep8LcSoI+OgpXJxyHDw9eK2EhvaL/LXTNZk1rzN5r1LTH0VfMMlobPTJuHrrFb&#xA;QEetNwJ4vK0p5IQGUjfBmkKjEG+G1iOZZ7mOzdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV&#xA;dirsVcSAKnpirzDz5+fflbyxdT6bao2p6tCSjwREemjjj9uToP2gQPiBH2aGuZWHSSnv0a5ZAHnF&#xA;1/zkn5xub1JrWwgtbUUra8vU5UNTV2Su422zPh2aK3LUcxZh5Z/5yQ0y7nEOv6e2ncqBZ4W9WMUU&#xA;/aJ4kcmoBtQdS2U5ezJRHpNso5g9itrq2ureO4tpVmglUPFKhDKyncEEdQc1pFc29UwK7FXYq7FX&#xA;Yq7FXYq7FWAeefzr8n+U5fqssh1DUOKt9UtSrsFcEgs1eK/sn4iKg1FcyMWmlNhKYDzkf85Raw5X&#xA;h5eh4g/GTcPVh7AJ8P45nDsy+rV4zJvK3/ORmg38wg160fSpHb93Mp9WAClAGfZq178QPHpvVl7N&#xA;nHcbso5geb1u2uYLmCO4t5FlglUPHIpqGVhUEH5ZryKblTArsVdirsVdirsVdirD5/76T/WP682M&#xA;eTSVmFDsVT7y9/vNJ/r/AMBmJqObZBNcoZuxV2KuxV49/wA5C/mZd+W9Ii0TSJxHqmqKyyypQyQw&#xA;inJga1RjWg271B2zL0uHiNlrySp4F5D8ja95u1T6lpcXqSAc7i4kJEUSk/akeh6ntuTm4lkjijcn&#xA;HESTs9qs/wDnGUi3/wBJ18LcEdIrbkin5tIpb7hmL/K1HaP2s/A82Gee/wAo9f8AKcP1uRkvtLJC&#xA;m8hBHAnYCVDXjXsake9cz9LroZtuUmueMxTj8jvzBudH1qLy1fz/AO4i+ZvqpkO0MxBPFSSOKyH/&#xA;AIb5k5i9paUEcY5s8M+j6PzQuU7FXYq7FXYq7FXYq8t/Pz8yJfKXlyOy09uOsatyS3fekca/3knS&#xA;hpUACvU7giozJ02Lil5BhOVB4d+W/wCU2uee7W91K2v4Ingm43DXRkLu8g5l+Sq9a965tJ6iOKgQ&#xA;0CBky2y/5x784SatcWTS28VpbcAdQYv6chZAxES8ebceVCdhXvln8p4xEHe+5Hgytb5q/IrzPoem&#xA;yahFJDqVtApe4WDksiKNy3Bh8SgdaGvtk8HaOPIeE7FEsJG6I/JH8wrrRtai8t38pbSdQfjalyT6&#xA;M56Ku+yyHalPtfMnKe0dICOMcwywz6PpDNC5TsVdirsVdirsVdirD5/76T/WP682MeTSVmFDsVT7&#xA;y9/vNJ/r/wABmJqObZBh2vfmPq2n+YvMVjC1kJNDs3uNO8vyI51LV2WxN16lm3rR0jST92wWCQ/A&#xA;3Q0yhm8/8wfnR5wvPIGoO9xp2kPdWWr/AFbXopI2WV7W0heK1tfqV/di3vne5kKcp2IEXLhUlUVS&#xA;S+8zeepr/Wbe11+5hnkufqswM91LJHFNrdjZwia2WaEWB9KdhbvAQ1xFycsr0YKvV/IGoecD+Znm&#xA;3TNct7uKwhstNfSY5Z4preOBJry3SVaTzS87sQ+oxcc6qVc7IWVfP/5+6ld3n5qanFcPz+oCO2hN&#xA;KUj4+qq0Hh6tPxzb6QARDjz5vff+cdtJtbP8tLS9iUevqc08079z6crQKK+AEX45ia6ZOSu5sxDZ&#xA;iH5q/mp5q0X8xjZadcmGw0r0OdoAOE5kjWZ/U2qarJx9qVG+Z2j0cJ4rI3LVkyESe46np9pqul3N&#xA;hcrztryJopFI/ZdaVoe4zUQmYyBHMOQRYfFRvZrC7hvIW43FpKk0TA1o8TBlII9xnW5gDGnAjzfb&#xA;Ng8j2Nu8jc5GiQu5ABZioqaCg39s5CXN2AV8CuxV2KuxV2KuxV8gf85FawuofmZPGgZI7KFLfiaC&#xA;rozB32J67CvgBm20kai4+Q7vUf8AnFj/AJRzWf8AmKj/AOTeV9o84+5lh6pz+cn5p655R1DT9P0i&#xA;KH1J4zczzTqXBXmUVFAK0+yeR+VMdDo45QTJcuQx5M98o6+nmLyzp+semI/rsIeSLqFcVV1FeoDA&#xA;0zCzY+CZj3NkZWLfKX5gWyaF521SGwPpCyvWktOO3Cj+ogH+rtnS45ceEE9Q4ZFSfX1g/Oxt3qTy&#xA;iRqtUtuoO9e+csebnBXwK7FXYq7FXYq7FWHz/wB9J/rH9ebGPJpKzCh2Kp95e/3mk/1/4DMTUc2y&#xA;Ca5QzdirsVdir5P/AOcmvLJ0zzxFq8KUttUhDSNy5H10JDV68Qwpx+Rp0zaaSdxruaMg3Z7/AM40&#xA;fmDptxoP+EbydYdQtJHk09HNPWhlJdlSvV0csSPA+xyrW4jfGGWOXRmXm78mtD8y+a4NfuLmSGnp&#xA;i+tFRWWf0tl+In4aqArbHYdsGDXSxw4QFliBNpr+ZXnvTvKPly4uZZlGpTRsmm21RzeUigbj14IT&#xA;Vj9HUjKtLgOSQHTqynKg+UPKulTeYfNWm6TFH6wnnUzJVRWJDykFWIWpUUFTuSBm91ObhiS4sI7v&#xA;te2gW3t4oFLMsSKisxqxCilSfHOaJtzVTArsVdirsVdirsVfLH/OUnl6e084WetqgFrf24iJWp/e&#xA;wkkluwLBth/kk5stHP000ZBuzX/nFKTn5c1v2u4/+TeQ15shliZt+ZP5T2Xna4srpr5rC6tFMTOI&#xA;xKHiJ5caFkoQa0Ne/TI6XWHCCKsFOTHxMltING8peWIoXmFtpWk24Vp5T0VBuzHuzHw6k7ZjyMsk&#xA;76lkKiHyPqFxc+ePP7rbI/PWb5mVEBZ0hZiSaKGJ9OIVNB2zfykMWOu4OKBZfZdrE0NtDCzBmjRU&#xA;ZgKAlRSoG9M5wuYqYFdirsVdirsVdir481v/AJyE8+2us39tHHY+nBczRpyhcnikhUV/ee2bmOIU&#xA;GglBf9DG/mD/AL7sP+RL/wDVTJeEEW7/AKGN/MH/AH3Yf8iX/wCqmPhBbe+f848+eda84eWdSvtW&#xA;WFZre99CMQIUXj6SNuCzb1bNfq4gSDbDk9UzEZuxV2KuxVjnn/yPpnnPy7No1/VAx9S3mABaOVQQ&#xA;rivhXt8ulRlmLIYGwiQt8d+b/IHm7yVf01C2lSBXrb6hGG9JqMQp5j7LVU7fSKjfNtjzCXJxzGle&#xA;0/N38xLe2FtH5hvhEBQBpmZgB2DNVh9+S8PGecQiz3oGzXzX5u1b0rVLrWNTmIDuzNK+54gySOfh&#xA;FTSrGmWHLGA7giiX09+S/wCUaeTrI6nqLCXXrxKSkCixRnf01qA3+t+rbbU6nUGZro3whT1DMVsd&#xA;irsVdirsVdirsVY55+8kab5z8uTaNfkoGPqQTAAtHKoPFxUdq9vl0qMsxZDA2ESFsK/IHyRrvk61&#xA;8waZq0XEm7RradfsSxhCvNa79R0P6qE3anIJUQwgKYz/AM5A/mD5r8p+c9N/QWoyWYm08NLGAskb&#xA;ETSCpjkDoT70y/SY4SieIXuxyEg7PIdX8+fmD53uI7G7vLnVJCax2UKBUqP2jFCqJsP2iNszYjHj&#xA;3AprJJe+fkn+TU/lflrXmCON9ZmQCKHZxbqaNRSDx5V+0adR8Owq2u1Wp49hybYQp7BmE2uxV2Ku&#xA;xV2KuxV2Kvzv8zf8pJqv/MZcf8nWzew5BxyluSV2Kvqz/nEX/lCtZ/7aR/5MR5rdb9Q9zbj5PUtR&#xA;84Saf51sPL9zZrHYX2n3l+urvOqqhsWhEqNEV2ULcK3MuPlmEzYy35u6jN5d13zDY6AraZoF1JHc&#xA;C7uzbTzWi2lveQzwRCCWstwl2PShcr25MrHiFV11+cHop5quFtdONt5ZLRPC+plL0yiSONWubb6s&#xA;wtoGZ2/emRvs/ZPZVUufzetLe80HSpH0Y6vrUX1ssNYQaets05hiaC7kgR7mSanwRpBuQwqAORVe&#xA;iYqpz21vcJ6c8Sypv8LqGG4Knr7EjCCrGT+Vf5bk1by1pzN3ZrdGJPiSRUn55Z40+8seEJ3pGgaL&#xA;o9utvpdlDZwrXjHEgUDlSoHgNhtkJSJ5pApH5FLsVdirsVdirsVdirsVdiq14kcUYb0I5AkMAetG&#xA;FCPoxVjHmj8s/KHmjULS+1mz+sz2Y4JyNQycuXB+VTxrXpTqcthmlEUGJiCmeieUfLGhBho+mW9g&#xA;H48vQjCVKggHbvv16nIynKXMpAATbIJdirsVdirsVdirsVdir87/ADN/ykmq/wDMZcf8nWzew5Bx&#xA;yluSV2Kvqz/nEX/lCtZ/7aR/5MR5rdb9Q9zbj5PXtW8p6Rq2s2eqX6GdrO0vbAWjhHt5YNR9H11m&#xA;jZW57WygCtKE1B7YTNitx+SHlRLiSXRbi48uxy38epyWulQ6dHbtPBBHBAGhmtJ0ZITE0sakUEru&#xA;/wBrjxVTeXyA0urT6w/mDUzqphktbC8pYcrKCeaOeWOBfqnBg5gRf36yEL0pU4qlE35JeWJLRrVL&#xA;6/hiureS01ng1vXUIZrqW8kS45QNw5T3MrVt/SI5UFABRV6FirsVdirsVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdirsVdirsVdirsVdirsVfImtf840fmhd6xf3cMFoYbi4lljJuVB4u5YVFPA5tI6uA&#xA;DUYFB/8AQr35rf8ALPZ/9JK/0yX5yCOAu/6Fe/Nb/lns/wDpJX+mP5yC8Be7f84//l95j8keWtR0&#xA;/XUiS4ubz6xEIZBIOHpIm5HupzC1OUTIIbIinqOYzJ2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux&#xA;V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV&#xA;2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2&#xA;KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2K&#xA;uxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku&#xA;xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KoY6lYgkGZQRsRg4g2eFLud+k7D/&#xA;AH+uPEF8KXc79J2H+/1x4gvhS7lWG4hmUtE4cA0JHjiCxlEjmqYWLsVdirsVU7m5gtoJLidxHDEp&#xA;Z3PQAYpAt4v5v/5yX0iwv5LLy7ZjVvSLI12XKQE0FCjUq1G5DYUIoQ2UyygOxwdnSkLOzDIf+civ&#xA;zFLDnFZNEOoEREhH+ty4/wDCZV45dgOyIHveh+Tv+chdF1W6Sz121/RM8rBYpg3OCpIWjOaFepNS&#xA;KAd8tjmB5uFqOypwFx3D1tWVlDKaqRUEdxlzqm8VdirsVdirsVdirsVdirsVQuo6rpum2z3OoXMd&#xA;rAil2klYKAoIBO/hyGAllGJPJjjfm1+Wol9L/EVkWqBVZKrv/lgcfxwcY724aXL/ADSn+la7ourw&#xA;ifS72G8iPIB4XVweJAalPCowggtU8co8xSOwsHYq7FXYq7FXYq7FWHzf30n+sf15QXZx5LMWTsVT&#xA;/wAvf7zSf6/8BlkHC1PMJpk3HdirsVdir5s/5yS/Mi6n1T/BunSmO3gAbVGUsC7NRliIIX/WPWop&#xA;Q0JrRkl0drocH8Ree+QPy/1/zbem10mEFIqG5upCVhiDdC7AHrTYAEnKBEyOzt8meGGNyeyWf/OM&#xA;6iEfWtepMRusVtVQfm0lT9wyz8v5uEe265Q+39jy/wA7+VYvLXmO60P60L1rUR8pwnp1MiCQDjyf&#xA;sw75ROPCadzpc3jYxOqt6h+QPn+7klbynqU/qJFGX0ySQ1YKCAYuRI2WvwihPbYDMjBkvZ0Xa2jE&#xA;Txx683uOZLpHYq7FXYq7FXYq7FXYqwz80/zGsPJHl57x2WTUJj6dlaBh6juwNGAo1FFN2O3zNFMZ&#xA;SoN+nwnJKuj5YuNT84/mJ5liS7mN5f3stLW0DCOBGIoAisQq0VQKnc03JzFlIyL0GLFDFG+gZvqn&#xA;5C67oPle91zVby2jNoiuLSHlKx5OqUZyEVftduWMsRAsrh7QxzyCEQd+rC9J1DVNGvEvtJuntLlC&#xA;rB4zseJ5AMpqrCorRhTKRMh2WXTRmKIfS/5UfmdF5vsHt70xwa3a0E8ANPUBqfUjB6rt0rUd+xOb&#xA;jycQeV12iOGW30vQMtcB2KuxV2KuxV2KsPm/vpP9Y/ryguzjyWYsnYqn/l7/AHmk/wBf+AyyDhan&#xA;mHmvm3yb5z1j8xNevNMAeL9HaZZ27Xz/AFSEWk8l0dQisr2O0upopmEUatwP2ZKtuIuM3HS3yTqP&#xA;5m6f5Ut9Pntb+x1bS/LtsnlrQ47NpLC7ki0oEG/u5LTlBcLcKVMDTRUYBfjryKqL8k+Y/wAz7rV7&#xA;SHzRc6jbaaxVtPmtNMnY3M5kAe11OSbSrdreNBSkqQRKVb+8YqTiqf8A5P6x+ZGpJqb+dFMUqiAp&#xA;ayQTQtBcEyevHG7WVlDJCKJw9OSem9ZW5Cir5V863M1x5712Sd2kcX9xHzclm4xysi1Y7miqN8xJ&#xA;vR6f6Q+svyN0a0038ttLeFQJb9Wu7mQDdndiFr/qoFX6MvxCoup7QyGWU+Wzzj81Pzf842fm+90n&#xA;R7v9HWensIfgSNnkfiCzszq3c0AGUZMpug7XQ9n4jjEpCyXlmpa1qOr6nPqWoy+ve3JDTy0VeRAC&#xA;/ZUBRsOwyiRvcu4wwEI8MeQR3krVptL87aRfQAGWGbZT0IZSpB+g5PEaLja+IljIL7KzPeOdirsV&#xA;dirsVdirsVdir5A/5yG8xXOq/mXdWLvW20hVtoUVmZOTKJHYAn4WPIK1P5cx8h3d3oYAQB72Wf8A&#xA;ONeh+XLzUdQvtSRG1LT3tW0pmlaNldxN6nFFZQ/2V6g5HCATu2dpTnGAEeRu/sfQmvado+paRc2O&#xA;sKrabMoFyru0SkBgRV1ZCPiA75kyAI3dJinKMgY/U+XvzS0ry9o/nCSx0BETThBE6rHK0y82B5fG&#xA;7OfxzAyxAOz13Z2ac8dz52l3kHXbjQ/O+k3sDcVknS2nBYorRzMEPMj9kEhvoxxSoo7RxCeMvsHN&#xA;g8c7FXYq7FXYq7FWHzf30n+sf15QXZx5LMWTsVT/AMvf7zSf6/8AAZZBwtTzCaZNx3Yq7FXYq+J/&#xA;zn8sz+XfzE1ONgxgvJDdwSuVLOJfictx2B51NPAjYZjTFF3ulycUA93/AOcdPzA03VPKsHlq4nWP&#xA;V9L5rFE5o01uzF1ZK9SnIqQOgAyzFLanC1+EiXGORZJ50/Jjyr5q1Q6rPJcWV9IAJ5LZk4ycRxBZ&#xA;XVviAAFRjPEJG103aOTFHhFEPnf8yfL1p5V84X+i2jyPa24iMDykM7LJCjksVCivJj2GYs4Uaeh0&#xA;mpOTGJHmmP5HaBPr35hWs/pCSy0oG5uiwJTcFEUkA7kkkV60yzDHdwu0s9QrvfWmZbzbsVdirsVd&#xA;irsVdirsVfFP53Wslp+a2vc68Zp1mjYgiquinavg1V+jMafN32kl6AmH5NShvzA0Ed/rS/8AETlc&#xA;PqDm6qV4Je59KfnCrN+WuuBQSfSQ0G+wmQnMnL9JdD2d/fx/HR8lKab5gPXhGaAj3nmfSLWOvKW8&#xA;gBIBai+oCzUG/wAIqcnAbuLq8lQPufbebB412KuxV2KuxV2Kvg3zD5687R+YNTjj8w6mkaXc6oi3&#xA;lwAAJGAAAfoMxSXoYQHCNkv/AMfeev8AqY9U/wCk24/5rwWy4B3O/wAfeev+pj1T/pNuP+a8bXgH&#xA;c+mf+cWdZ1jVfKGrTapfXF/MmoFEkupXmZV9CM8QXLECpy/FydVrwBIe57TljguxV2KuxVg35s/l&#xA;hYee9DELOYdTtAz2FwADRj1U1p8LUodx+ApGUbcjT5zjPk+RvMXlLzX5P1JoNTtZbWSFwI7pK+kz&#xA;UDKUkFN+JDUNGHcDMcxp3WPMJDZHwfmz+YUUSxr5i1DioooNxI23zJJwWe9PhY/5o+Sv5e8teffz&#xA;B1XlbJcXzyMFuNVu2kaNBUCrzPyJpXoKn2xECVyaiGMVy8n1h+XH5d6T5J0NLC0/f3j/AB3t8wAe&#xA;WQ05ePFdhRa9u53zJjGnR585ySsssyTQ7FXYq7FXYq7FXYq7FXh//OSH5ZXOt2UXmfSkabUbFBDc&#xA;WyB2aWCpb4dyKodwtBWp6sQMqyR6ufos/CeE8nzt5U8xzaDr+natGvNrC4iuPTOwcRsGKk/5QFMo&#xA;5G3bn1RMT1D7H0j82fy01vTFuP07YwRzLSW0vporeReQ+JHjmK1p0NKj3zJEwXQy02SJ5H4Pm385&#xA;dZ0G4893r6FLby6aI4Fie04+jVYlDBeHw7HwzGyAGWzv9HOUcQEufmzr/nHT8u7qfUB5x1NGiigF&#xA;NLiYOpf1FIMwIK0FNgN6gmooVJtxQ6uB2hqrHCH0Vl7p3Yq7FXYq7FXYq/PHzL/ykeq/8xlx/wAn&#xA;WzEPN6OH0hLcWTsVfVf/ADiN/wAoVrP/AG0j/wAmI8uxcnU9ofUPcyfzh501vyv5rv77VJNQXQYr&#xA;OaTRLO2XT3sry4tNPmvJ4Z24SahHJxiLJQqnw9d6G1wEjXz15yHlaWefUryz8y2V/oU+qWdza6d6&#xA;Bs9YvI7YRWht2uQIXBkoZJGmHHfjUYqna+d/Mup/mtP5aiN5pGlyadqUFiZtMn+K8s5bQC/FxLEI&#xA;XipPIiBXKbKW3kjXFWPSfmv5uj8meQLsi7Nxqa6Pea/rEWmz3MM0V1ewW0trGbeCSGOaVZHamzbB&#xA;UBd1oq9wxVQu7CyvEMd1BHOhVkIkUN8LU5DfxoMUgkcmOj8rPy6Dch5esRJ/v0RASV8eY+KvvXI8&#xA;IbfzE+9ksNvbwJwgiSJNvhRQo2FBsPYUyTUSqYodirsVdirsVdirsVdirsVakjSRGjkUPG4KujCo&#xA;IOxBBxV5Z5//AOce/KXmi6n1K0ZtL1SarPJCAIpHPH4pEpT+Ykjck7nK5YwXLw6uUdjuHnrf84l6&#xA;2JqJ5itzDX7Zt5A1P9XmR/w2R8Jyf5QHczLyX/zjR5X0a4ivNauG1m6ibksTqFt6gqVJiNa9CCGL&#xA;Df2yQxgNOXXSlsNnsUUMUKCOJFjQVIVQAKk1J28Sa5Y4JK7FXYq7FXYq7FXYq/PHzL/ykeq/8xlx&#xA;/wAnWzEPN6OH0hLcWTsVfVf/ADiN/wAoVrP/AG0j/wAmI8uxcnU9ofUPc9kHlry4NXl1oaVZjWLh&#xA;PSn1IW8X1mSPiF4PNx9Rl4qBQnplrgKVj5Q8p2FlJY2OiWFpYyzJcy2sFrDHE08TrJHKyKoUujor&#xA;K1KggHtiqYtaWrXUd40MbXcMbwxXBUGRI5SjSIr05BXaJCwHXiPAYqox6PpEenwadHY26afamI2t&#xA;msSCGI27rJAY4wOK+k6KyUHwkAjpiqLxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku&#xA;xV2KuxV2KuxV2KvnjU/+cR/r2pXd7/iv0/rU0k3p/o/lx9Ri1K/WRWlfDKjidjHtChXD9v7EN/0J&#xA;3/393/cu/wCzrB4Xmn+Uf6P2/sd/0J3/AN/d/wBy7/s6x8LzX+Uf6P2/serflH+V/wDyrzRbzTP0&#xA;n+lPrdz9Z9b0Pq/H92qcePqTV+xWtcsjGnF1GfxDdUzrJOO7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXgPn6HTvM&#xA;H5hebbDzNqbm20O1s5PLehSXiWEEzywB5pVdxxZ0djvuTWlaAUpnuS7PTyMIxIHPmatm/wCQXmLX&#xA;9e/L9LvWmkmkhupre0vJg5kngQKRIzuT6hWRnj5D+Wh3ByWMkjdo10IRyel6PljhuxV2KuxV2Kux&#xA;V2KuxV2KuxVi3nr8wLDymNPtmtLjUtY1iR4NI0y2A5TSoB9uRiFjQM6Bm3IrUKaGkZSpuw4TOzdA&#xA;c1PyP+Yth5nuL3TJ7STSfMOmmmoaRcMrOorTnE67Sx1IHIAdR2KkiM7Z59McYB5xPIstybjOxV2K&#xA;uxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVK9W8q+WNZlSbV9HstRmjXhHJd20U7Kta8VMisQ&#xA;K4CAzjklHkSEwtra3tbeK2tokgtoEWOGGNQiIiDiqqq0CqoFABhYk2qYodirsVdirsVdirsVdirs&#xA;Vdirz381vInmDzBe+W9d8vyw/pXyzdtdx2dw7RJcIxjdoxIoajMYFWhoCGNSMhKJPJydPljEES5S&#xA;Q/5b/l3q2nebNZ87a5/ompaypjh0hJ/ra20UhSSQSzlV5vzjAUJ8Kr3avwiMKNs9RqOKIgNwOr0r&#xA;LHDdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir//Z</xapGImg:image>
+ <xapGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA0AEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXlX54yWv13ynba&#xA;/PLB5FuryZPMPpsVR5FjD2aSlP3nAujk022r1C5k6fka+ro1ZOl8kH+VVxocf5iarp3kyXn5TTTI&#xA;p9Sht3kmso9WaUKPRklHL4oVbcfap/kilmckwBl9V/YjH9W3J7DmE3OxV2KuxV2KuxV2KuxV2KpD&#xA;5s89eU/KUNvN5h1BLFbpylupWSV3KirFY4ld+K7ValBUeIycMcp8gxlIDmivLfmfQfMumDU9DvFv&#xA;bIu0ZkUMhV06q6OFdDuDRgNiD0IxnjlA0UxkDyTTIJdirsVdirsVdirsVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVU7m2t7q3ltrmJJ7eZTHNDIodHRhRlZWqCCOoOEGlU9P03TtNtEs9OtYbKzir6dtbx&#xA;rFEvIljxRAFFSSTiZE7lAFIjAl2KuxV2KuxV2KuxV2KuxV5v5w0LVrT8wW84pbT3emJ5euNNMVin&#xA;rXYuhMZY1SHhJX1PUorcSoI+OgpXIxyHDw9eJrkN78kX+Wumaw+s+ZfNepaY+ir5hktDaaZNw9dY&#xA;raAj1puBIV5WlPJCAykb45pChEG+FYDcnvZ7mO2OxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux&#xA;V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV&#xA;2KuxV2KuJAFT0xV5j58/Pryv5Zup9NtUbU9WhJR4YiPTRxx+3J0H7QIHxAj7NDXMrDpZT36NU8oD&#xA;zi6/5yR843N6k1rYQWtqtK2vL1OVDU1dkruNtszo9nCmg6gsv8tf85H6ZdziHXtPbTuVAs0LerGK&#xA;KftE8SOTUA2oOpbKcvZsgNt2cdSDzexW11b3VvHcW0qzQSqHilQhlZTuCCOoOa4iubkqmBXYq7FX&#xA;Yq7FXYq7FXYqwDzz+dXk/wApy/VZJDqGoUVvqlqVdgrgkFmrxX9k/ERUGormRi00ptcsgDzof85Q&#xA;aw5Xh5eh4j7ZNw9WHagCfD+OZo7Nvq0nU+TJfK3/ADkXoV/MINdtH0qR2/dzKfVgApQBn2ate/ED&#xA;7t68vZ047jdlHUA83rdtcwXMEdxbyLLBKoeORTUMrCoI+jNeRTkKmBXYq7FXYq7FXYq7FWHz/wB9&#xA;J/rH9ebAcmgrMKHYqn3l7/eaT/X/AIDMXPzbYck1yhm7FXYq7FXj3/OQv5mXflvSYtE0icR6pqis&#xA;ssqULwwinJga1RjWg271B2zL0uHiNlqyzp4J5D8ja95t1T6lpcXqSAc7i4kJEUSk/akeh6nt1Oba&#xA;WSOONycQRMjQe1Wf/OM5W3/0nXgtwR0ituSKfm0ilvuGY38q1yj9rZ+V82Geevyk17ypD9blZL7T&#xA;CQpvIQRwJ2AlQ1417GpHvXM7Ta2GXblJoy4TDfonH5IfmBc6PrUXlu/n/wBxF8zfVjIdoZiCeKkk&#xA;cVkP/DfMnMXtHSgjjHNt0+Xei+jc0bnOxV2KuxV2KuxV2KvLvz7/ADIl8peXY7LT246xq3JLd96R&#xA;xr/eSdKGlQAK9TuCKjMnTYuI+TVlnQeH/lv+U2uee7W91K2v4I3gm43BujIXd5BzL8lV6171zZT1&#xA;EcVAhx44zNllj/zj55wfVriyaW3itbbgDqDF/TkLIGpEvHk3HlQnYV75Z/KWMRB3vuY/lpEteavy&#xA;L8z6JpsmoRSQ6lbQKXuBByWRFG5bgw+JQOtDX2yzD2jjyHhOxYz08oi0R+SX5g3Wja1F5cvpS2k6&#xA;g/G1Lkn0Zz0Vd9lkO1Kfa+ZOUdo6UEcY5s9Pl3ovo7NG5zsVdirsVdirsVdirD5/76T/AFj+vNgO&#xA;TQVmFDsVT7y9/vNJ/r/wGYufm2w5MO178x9W0/zF5isYWshJodm9xp3l+RHOpauy2JuvUs29aOka&#xA;Sfu2CwSH4G6GmUM3n/mD86fN955Av3e503SHurLVzba7FJGyyva2kLRWtr9Sv7sW9873LlOU7ECL&#xA;lwqxVFUlv/M3nma91i2tNfuYJ5Lj6rcAz3Usscc2u2VpD61us0P1A+jcMLd4GVriLk5KvRgq9W8g&#xA;ah5wP5mebdM1y3u4rCGy019Jjlnimt44EmvLdJVpPNLzuxD6jFxzqpVzshZV4B+fmpXd5+ampxXD&#xA;8/qIjtoTSlI+PqqtB4erTNtpQBEOJlO73z/nHbSbWz/LW0vYlHr6nNPNO/c+nK0CivgBF+OYmtkT&#xA;krubcA9LEfzU/NPzVov5jGy065MNhpXoc7QAcJzJGsz+ptU1WTj7UqN8ztJpITxWRuWjNmkJ7dHu&#xA;Gpafa6rpdzYXK87a8iaKRSP2XWlaHuM1MJmMgRzDmEWKfFjXs1hdw3kLcbi0lSaJga0eNgykEe4z&#xA;qswBjTqobF9r2DyPY27yNzkaJC7kAFmKipoKDf2zkzzdqFfAl2KuxV2KuxV2KvkH/nInWF1D8y54&#xA;0DJHZQpb8TQVdGYO+xPXYV8AM2uljUXEymy9R/5xZ/5R3Wf+YqP/AJN5X2hzHuZ6fkU5/OT80tc8&#xA;pahp+n6RFD6k8ZuZ5p1LgrzKKigFafZPI/KmOi0kcgJkjPmMTQZ75S15PMPlnT9Y9MR/XYQ8kXUK&#xA;4qrqK9QGBpmHmx8EzHub4S4hb5T/ADAtk0LzrqkNgfSFletJa8duFG9RAP8AV2zo8cuPECeoddIV&#xA;M0+vLB+djbvUnlEjVapbdQd6985g83ZBXwJdirsVdirsVdirD5/76T/WP682A5NBWYUOxVPvL3+8&#xA;0n+v/AZi5+bbDkmuUM3Yq7FXYq+T/wDnJnyydM88RavClLbVIQ0jcuR9dCQ1evEMKcfkadM2eknc&#xA;a7nGyjdn3/ONP5gabPoP+ErydYdQtJHk09HNPWhlJdlSvV0csSPA+xyrWYjfEGWGW1Mx83fk1onm&#xA;XzXBr9xcyQ09MX1oqKyz+lsvxE/DVQFOx2HbBh10scOEBZ4BKVpr+ZPnrTvKPly4uZZlGpTRsmnW&#xA;1RzeUigbj14ITVj9HUjKtNgOSVdOrPJPhD5S8q6VN5h81abpMUfrCedTMlVFYlPKQVYhalRQVO5o&#xA;M3mpy1ElwccLL7VtoFt7eKBSzLEiorMasQopUnxznCbdkqYFdirsVdirsVdir5Z/5yj8vz2nnCz1&#xA;tUAtb+3ERK1P72Ekkt2BYNsPYnNlpJemnGzDdmn/ADinJz8ua37Xcf8AybyGuNkMsA2LN/zJ/Kiy&#xA;87XFldNfNYXNopiZxGJQ8RPLjQslCDWhr36ZDS6w4gRV2nLh42SWkGjeU/LEULzC20vSbcK08p6K&#xA;g3Zj3Zj4dSdsx5GWSd9S2ACI9z5I1C4ufPHn91t0fnrN8xVEBZ0hZiSaLyJ9OIVNB2zfSkMeOu4O&#xA;ABxSfZVrE0NtDCzBmjRUZgKAlRSoG9M54uxVMCuxV2KuxV2KuxV8e63/AM5B+fLXWb+2jjsfTguZ&#xA;Y0rC5PFHKiv7z2zcRxCg4plugv8AoYz8wP8Afdh/yJf/AKqYfCCOIu/6GM/MD/fdh/yJf/qpj4QX&#xA;iL3v/nHrzzrXnDyzqV9qywrNb3voRiBCi8fSRtwWberZgauNSDdiNh6pmK2uxV2KuxVjnn7yPpnn&#xA;Py7No1/VAx9S3mABaOVQQrivhXt8ulRlmPIYGwxlGw+PPN3kDzd5Kv6ahbSpArVt9QjDek1GIU8x&#xA;9lqqdvpFRvm1x5RLk4koEIi0/Nz8w7e2FtH5hvhEBQBpmZgB2DNVh9+S8PH/ADQvFLvQFmvmvzbq&#xA;3pWqXWsanMQHdmaV9zxBkkc/CKnqxplhyxgO4MREkvp78l/ykTydZHU9RYS69eJSUgUWKM7+mtQG&#xA;/wBb9W22q1OoMzXRysePhen5itrsVdirsVdirsVdirHPP3kjTfOfl2bRr4lAx9SCYAFo5VB4uKjt&#xA;Xt8ulRlmPIYG2Mo2GF/kF5I13yfbeYNM1aLiTdo1tOv2JYwhXmtd+o7/AKqE26nIJUQwxxpjP/OQ&#xA;H5gea/KfnPTf0HqMlmJtPDSxgK8bETSCpjkDoT70y/SQjKJ4he7DLIg7PIdX8+fmB53uI7G7vLnV&#xA;JCax2cKBUqP2vShVE2H7RG2ZkRDHuBTSTKXN73+Sn5Nz+WOWteYI431mZAIodnFupo1FIPHlX7Rp&#xA;1Hw7Cra/U6nj2HJyMeOub2DMNudirsVdirsVdirsVfnj5l/5SPVf+Yy4/wCTrZvIcg4Z5pbkkOxV&#xA;9V/84jf8oVrP/bSP/JiPNbrfqHucjDyeo6j5wk0/zrYeX7mzWOwvtPvL9dXedVVDYtCJUaIrsoW4&#xA;VuZcfLMNtYy35u6jN5d13zDY6AraZoF1JHcC7uzbTzWi2lveQzwRCCWstwl2PShcr25MrHiFV11+&#xA;cHop5quFtdONt5ZLRPC+plL0yiSONWubb6swtoGZ2/emRvs/ZPZVUufzetLe90HSpG0Y6trUX1su&#xA;usINPW2af0Ymgu5IEkuZJt/TjSDchgSAAxVeiYqpz21vcJ6c8Sypv8LqGG4Knr7EjEFWNH8q/wAt&#xA;yat5a09m7s1ujEnxJIqT88s8afex4B3J1pOgaLo9utvpdlDZwrXikSBQOVKgeA26ZGUieaQAEfkU&#xA;uxV2KuxV2KuxV2KuxV2KrXiRxRhvQjkCQwB60YUI+jFWMeaPy08oeaNQtL7WbT6zPZjgnI1DJy5c&#xA;H5VPGtelOpy2GWURQYygCmeieUfLGhBho+mW9gH48vQjCVKggHbvv16nISmTzKREBNsil2KuxV2K&#xA;uxV2KuxV2Kvzx8y/8pHqv/MZcf8AJ1s3kOQcM80tySHYq+q/+cRv+UK1n/tpH/kxHmt1v1D3ORh5&#xA;PXdW8p6Rq2s2eqX6GdrO0vbAWjhHt5YNR9H11mjZW57WygCtKE1B7YbaxW4/JDyolxJLotxceXY5&#xA;b+PU5LXSodOjt2nggjggDQzWk6MkJiaWNSKCV3f7XHiqm8vkBpdWn1h/MGpnVTDJa2F5Sw5WUE80&#xA;c8scC/VODBzAi/v1kIXpSpxVKJvyS8sSWjWqX1/DFdW8lprPBreuoQzXUt5IlxygbhynuZWrb+kR&#xA;yoKACir0LFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq+Rta/wCc&#xA;afzQu9Yv7qGC0MNxcSyxk3Kg8XcsKingc2cdVABxzjKC/wChX/zV/wCWez/6SV/ph/NwR4Rd/wBC&#xA;v/mr/wAs9n/0kr/TH83BfCL3b8gPy+8x+SPLeo6frqRJcXN568QhkEg4ekibke6nMPU5BMghtxxI&#xA;D1DMdsdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd&#xA;irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi&#xA;rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdiqGOpWIJBmUEbEYOINnhS7nfpOw/3+uPEF8KXc79J2H+/wBceIL4Uu5VhuIZlLRO&#xA;HANCR44gsZRI5qmFi7FXYq7FVO4uIbaB553EcMYLO56ADElXj/mv/nIzSrK+ks/L1oNV9MsjXRYp&#xA;ATQbo1KtRq9BQihDZh5NWI8t2mWYBiUH5+/mCzDnHZtEOoERDkf63Lj/AMLmKdfJq/MFnvlP8+NJ&#xA;1K5W01u2/Rc0jBYpg3OCpIFGc0K9SakUpmTi1sZGjs2Qzg83qasrKGU1U7gjM1vbxV2KuxV2KuxV&#xA;2KuxV2KuxVDahqmnadbtcX9zHbQIpZpJGCgKCATv4VGAkDmgljx/NP8ALsS+l+n7QtUCoeq7/wCU&#xA;Bx/HK/Hh3sfEj3p7pet6RqsIm028hu4jUB4XDg8aA0p4VGTjIHkyBBRuSS7FXYq7FXYq7FXYqxCb&#xA;++k/1j+vKC7SPJZil2Kp95f/AN5pP9f+AyyDh6nmE0ybjOxV2KuxV86/85E/mHcz6n/g/T5THbwg&#xA;NqbKWBdmoViIIX/WPWopQ9a4Opy9A0ZZdGDeQvIet+aLs22mQgrHQ3FzIeMUQPTk1D1psAK5gxxS&#xA;yGg44iZHZ6/af848KsI+s63SUjdY7eqg/NpKn7hmQOze+X2Nv5bzec+cfLMWga9c6N9ZF21sE5TB&#xA;PTqZEDgceT9mHfNfnx+HPhu3GyR4TT0T8j/PF08x8rahNzSJC+nO53CggGLkSNl/ZFD9AGbLQ5yf&#xA;SXKwZL2L2bNk5LsVdirsVdirsVdirsVYf+Z35hWHkvQHu3ZZNQmPp2VoGHN3YH4qUaiim7Hb5mim&#xA;rLk4QwnKg+ZpdQ82/mB5iiW7mN3fXktLa1DCOFCRQBFYhVoq0qdzTcnNXOcpyrq4spGRZtqH5Iax&#xA;onlu71nU7q3Q2qK4tYuUjHkyrRmIRR9rtXHJpJxiZErLEQLLEtMutR0m6S90u5e1uUIYPGdjxPIB&#xA;lPwsKitCMw4ZpRNhpjMh9Dflh+Y0Xmqye3vSkOs21BNCDT1AannGD1XbxqO/Ynd6bUDIPNzsWTiD&#xA;Osym12KuxV2KuxV2KsQm/vpP9Y/rygu0jyWYpdiqfeX/APeaT/X/AIDLIOHqeYea+bfJvnPWPzE1&#xA;680wB4v0dplnbtfP9UhFpPJdHUIrK9jtLqaKZhFGrcD9mSrbiLjNxkt8k6j+Zun+VLfT57W/sdW0&#xA;vy7bJ5a0OOzaSwu5ItKBBv7uS05QXC3ClTA00VGAX468iqivJHmL8z7rVrOHzRc6jb6axVtPmtNM&#xA;mZrmcyASW2pyTaVbm3jQUpKkEKlW/vGKk4qyD8n9Y/MjUk1N/OimKVRAUtZIJoWguCZPXjjdrKyh&#xA;khFE4enJPTesrchRV8yecLmafzzrkkztI4vrhObks3GOQotSdzRVGajLzLhzfVP5LaRa6f8Al5pj&#xA;wqPVvVa6uJAN2d2IFf8AVQBcz9LECA83IxCosA/Mv81fNlp5qu9L0m5+oWlgwi+BEZ5GoCzMzq3c&#xA;7AZg6nVTEyAaAaMuU3Qeb3+sX+q6jPqF/L615cENNLQLyIAHRQANh2Ga/JIyNnm40jZsorynqs2m&#xA;+cdJvYKGWKbZT0IZSpB+g5dpTUgWeI0X1rnQOxdirsVdirsVdirsVdir5L/P3zBc6p+ZFzYu1bbS&#xA;VW3hRWZl5Mod2ofssahWp/Lmt1Mrk42U7su/5x20Xy/d319e6giNqFi9s2mM0jIwZxLz4oGUP9le&#xA;oOR0cYmRJ5jkjCATu941uw0rUNLuLPVlVtPmAFwruY1oGBFXUqRuB3zY5IiQqXJyZAEbvnL8yNN0&#xA;LSfNclloiomniGJlVJGmXkwPL42Zz+OaLV44xnUeTr80QDslvkvWp9F85aXewtxDzpbzAsUVo5mC&#xA;HkR+yCQ30Y6SZjMLhlUn1bnQOxdirsVdirsVdirEJv76T/WP68oLtI8lmKXYqn3l/wD3mk/1/wCA&#xA;yyDh6nmE0ybjOxV2KuxV8afnB5cm8vfmDqMbBjBdyG7gkYglhL8TluOwPOpp4U2GazNCpFxZii9x&#xA;/wCcfvPmnan5Yh8uzzKmq6byWKJjRpYCxdWSvXhXiQOgAzI0uQVw9Q24pbUyPzd+UflnzLqR1KZ5&#xA;7S9kAE727Lxk4igLK6t8VABUYc2kjM3yKzwiRt4N+YWiWnljzXe6Ras7W1uIjC8pBcrJEr1YgKOr&#xA;Htmpz4eCZAcTJCpUi/yZ0WfXfP1rMIxJZ6WDc3RYEpuCqKSAdyTUV60zJ0eK5X3NmGO76lzbuY7F&#xA;XYq7FXYq7FXYq7FXxt+c1tJafmlrnOvGaZZo2IIqrop2r4NUfRmszj1Fxcg3TX8oJlbzxoi13+sr&#xA;/wAROY2EfvQ1wHqD6I/NdWb8vdZCgk+khoPASoTm01f92XKy/SXy8hCmpzQF16vo4a88yaVax15S&#xA;3cC1ALUHqAs1B/KN8vwR9QZ4xu+xs6B2LsVdirsVdirsVfB3mHz152j1/U44/MOppGl3OqIt5cAA&#xA;CRgAAH6DMUl6GEBQ2S//AB956/6mPVP+k24/5rwWy4B3O/x956/6mPVP+k24/wCa8bXgHc+mf+cW&#xA;tZ1jVfKGrTapfXF/MmoFEkuZXmZV9CM8QXLECpy/FydVrwBIe57RljguxV2KuxVhP5qflpY+eNFE&#xA;LMYdStAz2FwADRj1U1ps1PH9QpVlxcQYTjb5S1/yt5q8o6i0OpW0ls8LgR3SV9NmoGUpIO/EhqGj&#xA;DuBmunjIO7jmNI+D81fPsUaxr5gv+KigBuJDt8ya4OOfeUcR71fQfL/nrz7qfK1S4vXkYLcandM7&#xA;RoNh8czciaV6Cp9sY4pTKiBL6k/L38v9K8maKlja/vrt/ivL1gA8khpX/VXbZf1nfNnixCApyoxo&#xA;Mpyxk7FXYq7FXYq7FXYq7FXiv/ORH5bXOtWcXmXS0aXULJBFcW6hmaSGpPw7kVQ9FoK1PViBmLqM&#xA;d7hqyR6vAPKvmObQ9csNUjXm1jPHP6Z2DCNgxUn/ACgKZgDYg9zRyNvrvSvzT/LnWdNWca3ZQxzL&#xA;SW1vZY4JFqN0eOUrWnQ0qPfNoM0CObkiYL55/N3W9Dm87Xj6JLBLp4jhWJ7Xj6NViUMF4fDsfDNX&#xA;qIgzNcnFyAGWzNP+cf8AyDdXF+PN2pI0UUIppkTBlL81IM1QV2psOtQTUUKk5Wkw16i24odX0Bme&#xA;5DsVdirsVdirsVfnl5l/5SPVf+Yy4/5OtmIXo4fSEtxZOxV9V/8AOI//AChWs/8AbSP/ACYjy7Fy&#xA;dT2h9Q9zJvOHnTW/K/mu/vtUk1BdBis5pNEs7ZdPeyvLi00+a8nhnbhJqEcnGIslCqfD13obXASN&#xA;PPXnMeVZJ7jUryz8zWV/oU+qWlza6d6Bs9YvI7YRWht2uaQODJQySNMOO/GoxVO187+ZdT/Nafy1&#xA;EbzSNLk07UoLEzaZP8V5Zy2gF+LiWIQvFSeRECuU2UtvJGuKsek/NfzdH5M8gXZF2bjU10e81/WI&#xA;tNnuYZorq9gtpbWM28EkMc0qyO1Nm2CoC7rRV7hiqjdWNndoUuoEmQqUIdQ3wtTkN/GmAi1pjw/L&#xA;H8vg3IeX7ISf79EQElfHmPir71yHhR7mPAGSQ28EC8IY1iTb4UUKNhQbD2GWUyX4q7FXYq7FXYq7&#xA;FXYq7FXYq06JIjI6h0cFWVhUEHYgg4q8x8+fkF5U8zXM2o2rNpmpzVZ5IQPSdzTd0pT+Ykjck9co&#xA;yacS3a5YwWAn/nFXWhLRPMNuYf5zA4an+ryI/wCGyn8oe9h4TL/J3/OOPlnSLiO81m4bWLmJuSxu&#xA;oW3qCCpMZrXoQQxI3yyGmA5so4gHrkUUUSBIkCIKkKooKk1PTxJzJbV2KuxV2KuxV2KuxV+eXmX/&#xA;AJSPVf8AmMuP+TrZiF6OH0hLcWTsVfVf/OI//KFaz/20j/yYjy7FydT2h9Q9z2MeWvLg1eXWhpVm&#xA;NYuE9KfUhbxfWZI+IXg83H1GXioFCemWuApWPlDynYWUljY6JYWljLMlzLawWsMcTTxOskcrIqhS&#xA;6OisrUqCAe2Kpi1patdR3jQxtdwxvDFcFQZEjlKNIivTkFdokLAdeI8BiqjHo+kR6fBp0djbpp9q&#xA;Yja2axIIYjbuskBjjA4r6TorJQfCQCOmKovFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq+edT/5xI+u6ld3v+K/T+tTSTen+j+XH1GLUr9ZFaV8Mq8J2Me0KFcP2/sQ&#xA;3/Qnn/f3f9y7/s6weF5p/lH+j9v7Hf8AQnn/AH93/cu/7OsfC81/lH+j9v7Hqv5R/lh/yrzRbzTP&#xA;0n+lPrdz9Z9b0Pq/H92qcePqTV+xWtcsjGnE1GfxDdUzrJNDsVdirsVdirsVdirsVdirsVdirsVd&#xA;irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi&#xA;rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeE+eYtP1&#xA;78wPNVj5l1N/q2iWtnJ5d0WS7SxgmaWAPNKrOOLOjsd+prStBthZRxEg9OQaJiyWafkX5g1zXfIi&#xA;XWrtJM8VzLBaXc3IyTwIFIdnYn1CHZ05D+Wh3By3TSkYbs8RJG70LMhsdirsVdirsVdirsVdirsV&#xA;dirGPO3nyw8rCwt2tZ9R1fV5Gg0nTrYDlLKoH2nYhUQM6hm3IrWhocryZOH3ljKVLPJn5gWXmSe7&#xA;06a1k0rXtONL7SrgqzqK05xuu0kdduQA7dipMceYS25EIjO/eyrLmbsVdirsVdirsVdirsVdirsV&#xA;dirsVdirsVdirsVdirsVS3VfLHlrV5Ul1bSbLUZY14RyXdvFOyrWtFMisQK5EwB5hBAR1vb29tbx&#xA;W1tEkNvCixwwxqEREQUVVUUAAAoAMkAlUxV2KuxV2KuxV2KuxV2KuxV2KsB/NHyPruvXnl3XNBli&#xA;GqeW7prqO0uHaNJ0Yo7R+ooajMYFXfajGpGU5YE0R0YTiTuFD8vPIGq6f5p1jzlrf+i6jq6mOHSU&#xA;nN0tvFIUkkEk5Veb84wFC/Cq92r8McWKpGR5lEIUbei5kNjsVdirsVdirsVdirsVdirsVdirsVdi&#xA;rsVdirsVf//Z</xapGImg:image>
</rdf:li>
</rdf:Alt>
</xap:Thumbnails>
@@ -34,7 +34,7 @@
xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
<xapMM:DocumentID>uuid:89B13A64E5D9DE11BB37992E5642CB24</xapMM:DocumentID>
- <xapMM:InstanceID>uuid:7a20788e-1606-7140-8335-11445081584b</xapMM:InstanceID>
+ <xapMM:InstanceID>uuid:bce40ba9-528e-1a48-b1a0-2636e427f460</xapMM:InstanceID>
<xapMM:DerivedFrom rdf:parseType="Resource">
<stRef:instanceID>uuid:1052650b-0efc-4cb2-a32e-387095575b05</stRef:instanceID>
<stRef:documentID>uuid:6120892493BFDB11914A8590D31508C8</stRef:documentID>
@@ -54,7 +54,7 @@
<xapTPg:HasVisibleTransparency>False</xapTPg:HasVisibleTransparency>
<xapTPg:HasVisibleOverprint>False</xapTPg:HasVisibleOverprint>
<xapTPg:MaxPageSize rdf:parseType="Resource">
- <stDim:w>841.889832</stDim:w>
+ <stDim:w>841.889771</stDim:w>
<stDim:h>595.275574</stDim:h>
<stDim:unit>Pixels</stDim:unit>
</xapTPg:MaxPageSize>
@@ -65,7 +65,7 @@
<stFnt:fontFamily>Myriad Pro</stFnt:fontFamily>
<stFnt:fontFace>Regular</stFnt:fontFace>
<stFnt:fontType>Open Type</stFnt:fontType>
- <stFnt:versionString>Version 2.037;PS 2.000;hotconv 1.0.51;makeotf.lib2.0.18671</stFnt:versionString>
+ <stFnt:versionString>Version 2.007;PS 002.000;Core 1.0.38;makeotf.lib1.7.9032</stFnt:versionString>
<stFnt:composite>False</stFnt:composite>
<stFnt:fontFileName>MyriadPro-Regular.otf</stFnt:fontFileName>
</rdf:li>
@@ -581,7 +581,7 @@
-<?xpacket end="w"?> endstream endobj 2 0 obj <</Count 1/Type/Pages/Kids[5 0 R]>> endobj 15 0 obj <</Intent 16 0 R/Usage 17 0 R/Name(Class)/Type/OCG>> endobj 27 0 obj <</Intent 28 0 R/Usage 29 0 R/Name(Package)/Type/OCG>> endobj 37 0 obj <</Intent 38 0 R/Usage 39 0 R/Name(Object)/Type/OCG>> endobj 65 0 obj <</Intent 66 0 R/Usage 67 0 R/Name(Class)/Type/OCG>> endobj 78 0 obj <</Intent 79 0 R/Usage 80 0 R/Name(Package)/Type/OCG>> endobj 90 0 obj <</Intent 91 0 R/Usage 92 0 R/Name(Object)/Type/OCG>> endobj 116 0 obj <</Intent 117 0 R/Usage 118 0 R/Name(Class)/Type/OCG>> endobj 129 0 obj <</Intent 130 0 R/Usage 131 0 R/Name(Package)/Type/OCG>> endobj 141 0 obj <</Intent 142 0 R/Usage 143 0 R/Name(Object)/Type/OCG>> endobj 167 0 obj <</Intent 168 0 R/Usage 169 0 R/Name(Class)/Type/OCG>> endobj 180 0 obj <</Intent 181 0 R/Usage 182 0 R/Name(Package)/Type/OCG>> endobj 192 0 obj <</Intent 193 0 R/Usage 194 0 R/Name(Object)/Type/OCG>> endobj 218 0 obj <</Intent 219 0 R/Usage 220 0 R/Name(Class)/Type/OCG>> endobj 237 0 obj <</Intent 238 0 R/Usage 239 0 R/Name(Package)/Type/OCG>> endobj 255 0 obj <</Intent 256 0 R/Usage 257 0 R/Name(Object)/Type/OCG>> endobj 287 0 obj <</Intent 288 0 R/Usage 289 0 R/Name(Class)/Type/OCG>> endobj 306 0 obj <</Intent 307 0 R/Usage 308 0 R/Name(Package)/Type/OCG>> endobj 324 0 obj <</Intent 325 0 R/Usage 326 0 R/Name(Object)/Type/OCG>> endobj 356 0 obj <</Intent 357 0 R/Usage 358 0 R/Name(Class)/Type/OCG>> endobj 375 0 obj <</Intent 376 0 R/Usage 377 0 R/Name(Package)/Type/OCG>> endobj 393 0 obj <</Intent 394 0 R/Usage 395 0 R/Name(Object)/Type/OCG>> endobj 425 0 obj <</Intent 426 0 R/Usage 427 0 R/Name(Class)/Type/OCG>> endobj 444 0 obj <</Intent 445 0 R/Usage 446 0 R/Name(Trait)/Type/OCG>> endobj 462 0 obj <</Intent 463 0 R/Usage 464 0 R/Name(Package)/Type/OCG>> endobj 480 0 obj <</Intent 481 0 R/Usage 482 0 R/Name(Object)/Type/OCG>> endobj 515 0 obj <</Intent 516 0 R/Usage 517 0 R/Name(Class)/Type/OCG>> endobj 534 0 obj <</Intent 535 0 R/Usage 536 0 R/Name(Trait)/Type/OCG>> endobj 552 0 obj <</Intent 553 0 R/Usage 554 0 R/Name(Package)/Type/OCG>> endobj 570 0 obj <</Intent 571 0 R/Usage 572 0 R/Name(Object)/Type/OCG>> endobj 605 0 obj <</Intent 606 0 R/Usage 607 0 R/Name(Class)/Type/OCG>> endobj 624 0 obj <</Intent 625 0 R/Usage 626 0 R/Name(Trait)/Type/OCG>> endobj 642 0 obj <</Intent 643 0 R/Usage 644 0 R/Name(Package)/Type/OCG>> endobj 660 0 obj <</Intent 661 0 R/Usage 662 0 R/Name(Object)/Type/OCG>> endobj 695 0 obj <</Intent 696 0 R/Usage 697 0 R/Name(Base)/Type/OCG>> endobj 699 0 obj <</Intent 700 0 R/Usage 701 0 R/Name(Class)/Type/OCG>> endobj 718 0 obj <</Intent 719 0 R/Usage 720 0 R/Name(Trait)/Type/OCG>> endobj 735 0 obj <</Intent 736 0 R/Usage 737 0 R/Name(Package)/Type/OCG>> endobj 753 0 obj <</Intent 754 0 R/Usage 755 0 R/Name(Object)/Type/OCG>> endobj 785 0 obj <</Intent 786 0 R/Usage 787 0 R/Name(Base)/Type/OCG>> endobj 789 0 obj <</Intent 790 0 R/Usage 791 0 R/Name(Class)/Type/OCG>> endobj 808 0 obj <</Intent 809 0 R/Usage 810 0 R/Name(Trait)/Type/OCG>> endobj 825 0 obj <</Intent 826 0 R/Usage 827 0 R/Name(Package)/Type/OCG>> endobj 843 0 obj <</Intent 844 0 R/Usage 845 0 R/Name(Object)/Type/OCG>> endobj 878 0 obj <</Intent 879 0 R/Usage 880 0 R/Name(Base)/Type/OCG>> endobj 882 0 obj <</Intent 883 0 R/Usage 884 0 R/Name(Class)/Type/OCG>> endobj 901 0 obj <</Intent 902 0 R/Usage 903 0 R/Name(Trait)/Type/OCG>> endobj 918 0 obj <</Intent 919 0 R/Usage 920 0 R/Name(Package)/Type/OCG>> endobj 936 0 obj <</Intent 937 0 R/Usage 938 0 R/Name(Object)/Type/OCG>> endobj 937 0 obj [/View/Design] endobj 938 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 919 0 obj [/View/Design] endobj 920 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 902 0 obj [/View/Design] endobj 903 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 883 0 obj [/View/Design] endobj 884 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 879 0 obj [/View/Design] endobj 880 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 844 0 obj [/View/Design] endobj 845 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 826 0 obj [/View/Design] endobj 827 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 809 0 obj [/View/Design] endobj 810 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 790 0 obj [/View/Design] endobj 791 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 786 0 obj [/View/Design] endobj 787 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 754 0 obj [/View/Design] endobj 755 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 736 0 obj [/View/Design] endobj 737 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 719 0 obj [/View/Design] endobj 720 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 700 0 obj [/View/Design] endobj 701 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 696 0 obj [/View/Design] endobj 697 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 661 0 obj [/View/Design] endobj 662 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 643 0 obj [/View/Design] endobj 644 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 625 0 obj [/View/Design] endobj 626 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 606 0 obj [/View/Design] endobj 607 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 571 0 obj [/View/Design] endobj 572 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 553 0 obj [/View/Design] endobj 554 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 535 0 obj [/View/Design] endobj 536 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 516 0 obj [/View/Design] endobj 517 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 481 0 obj [/View/Design] endobj 482 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 463 0 obj [/View/Design] endobj 464 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 445 0 obj [/View/Design] endobj 446 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 426 0 obj [/View/Design] endobj 427 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 394 0 obj [/View/Design] endobj 395 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 376 0 obj [/View/Design] endobj 377 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 357 0 obj [/View/Design] endobj 358 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 325 0 obj [/View/Design] endobj 326 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 307 0 obj [/View/Design] endobj 308 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 288 0 obj [/View/Design] endobj 289 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 256 0 obj [/View/Design] endobj 257 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 238 0 obj [/View/Design] endobj 239 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 219 0 obj [/View/Design] endobj 220 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 193 0 obj [/View/Design] endobj 194 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 181 0 obj [/View/Design] endobj 182 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 168 0 obj [/View/Design] endobj 169 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 142 0 obj [/View/Design] endobj 143 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 130 0 obj [/View/Design] endobj 131 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 117 0 obj [/View/Design] endobj 118 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 91 0 obj [/View/Design] endobj 92 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 79 0 obj [/View/Design] endobj 80 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 66 0 obj [/View/Design] endobj 67 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 38 0 obj [/View/Design] endobj 39 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 28 0 obj [/View/Design] endobj 29 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 16 0 obj [/View/Design] endobj 17 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 877 0 obj [936 0 R 918 0 R 901 0 R 882 0 R 878 0 R] endobj 5 0 obj <</CropBox[321.5 204.775 334.5 217.775]/Parent 2 0 R/Contents 955 0 R/BleedBox[0.0 0.0 841.89 595.276]/PieceInfo<</Illustrator 869 0 R>>/ArtBox[321.5 204.775 334.5 217.775]/MediaBox[0.0 0.0 841.89 595.276]/Thumb 960 0 R/TrimBox[0.0 0.0 841.89 595.276]/Resources<</XObject<</Fm0 893 0 R/Fm1 900 0 R/Fm2 910 0 R/Fm3 917 0 R/Fm4 927 0 R/Fm5 935 0 R/Fm6 945 0 R/Fm7 952 0 R>>/ColorSpace<</CS0 889 0 R>>/Font<</T1_0 953 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 878 0 R/MC1 882 0 R/MC2 901 0 R/MC3 918 0 R/MC4 936 0 R>>/ExtGState<</GS0 885 0 R>>>>/Type/Page/LastModified(D:20091124113554+01'00')>> endobj 955 0 obj <</Length 1948/Filter/FlateDecode>>stream
+<?xpacket end="w"?> endstream endobj 2 0 obj <</Count 1/Type/Pages/Kids[5 0 R]>> endobj 15 0 obj <</Intent 16 0 R/Usage 17 0 R/Name(Class)/Type/OCG>> endobj 27 0 obj <</Intent 28 0 R/Usage 29 0 R/Name(Package)/Type/OCG>> endobj 37 0 obj <</Intent 38 0 R/Usage 39 0 R/Name(Object)/Type/OCG>> endobj 65 0 obj <</Intent 66 0 R/Usage 67 0 R/Name(Class)/Type/OCG>> endobj 78 0 obj <</Intent 79 0 R/Usage 80 0 R/Name(Package)/Type/OCG>> endobj 90 0 obj <</Intent 91 0 R/Usage 92 0 R/Name(Object)/Type/OCG>> endobj 116 0 obj <</Intent 117 0 R/Usage 118 0 R/Name(Class)/Type/OCG>> endobj 129 0 obj <</Intent 130 0 R/Usage 131 0 R/Name(Package)/Type/OCG>> endobj 141 0 obj <</Intent 142 0 R/Usage 143 0 R/Name(Object)/Type/OCG>> endobj 167 0 obj <</Intent 168 0 R/Usage 169 0 R/Name(Class)/Type/OCG>> endobj 180 0 obj <</Intent 181 0 R/Usage 182 0 R/Name(Package)/Type/OCG>> endobj 192 0 obj <</Intent 193 0 R/Usage 194 0 R/Name(Object)/Type/OCG>> endobj 218 0 obj <</Intent 219 0 R/Usage 220 0 R/Name(Class)/Type/OCG>> endobj 237 0 obj <</Intent 238 0 R/Usage 239 0 R/Name(Package)/Type/OCG>> endobj 255 0 obj <</Intent 256 0 R/Usage 257 0 R/Name(Object)/Type/OCG>> endobj 287 0 obj <</Intent 288 0 R/Usage 289 0 R/Name(Class)/Type/OCG>> endobj 306 0 obj <</Intent 307 0 R/Usage 308 0 R/Name(Package)/Type/OCG>> endobj 324 0 obj <</Intent 325 0 R/Usage 326 0 R/Name(Object)/Type/OCG>> endobj 356 0 obj <</Intent 357 0 R/Usage 358 0 R/Name(Class)/Type/OCG>> endobj 375 0 obj <</Intent 376 0 R/Usage 377 0 R/Name(Package)/Type/OCG>> endobj 393 0 obj <</Intent 394 0 R/Usage 395 0 R/Name(Object)/Type/OCG>> endobj 425 0 obj <</Intent 426 0 R/Usage 427 0 R/Name(Class)/Type/OCG>> endobj 444 0 obj <</Intent 445 0 R/Usage 446 0 R/Name(Trait)/Type/OCG>> endobj 462 0 obj <</Intent 463 0 R/Usage 464 0 R/Name(Package)/Type/OCG>> endobj 480 0 obj <</Intent 481 0 R/Usage 482 0 R/Name(Object)/Type/OCG>> endobj 515 0 obj <</Intent 516 0 R/Usage 517 0 R/Name(Class)/Type/OCG>> endobj 534 0 obj <</Intent 535 0 R/Usage 536 0 R/Name(Trait)/Type/OCG>> endobj 552 0 obj <</Intent 553 0 R/Usage 554 0 R/Name(Package)/Type/OCG>> endobj 570 0 obj <</Intent 571 0 R/Usage 572 0 R/Name(Object)/Type/OCG>> endobj 605 0 obj <</Intent 606 0 R/Usage 607 0 R/Name(Class)/Type/OCG>> endobj 624 0 obj <</Intent 625 0 R/Usage 626 0 R/Name(Trait)/Type/OCG>> endobj 642 0 obj <</Intent 643 0 R/Usage 644 0 R/Name(Package)/Type/OCG>> endobj 660 0 obj <</Intent 661 0 R/Usage 662 0 R/Name(Object)/Type/OCG>> endobj 695 0 obj <</Intent 696 0 R/Usage 697 0 R/Name(Base)/Type/OCG>> endobj 699 0 obj <</Intent 700 0 R/Usage 701 0 R/Name(Class)/Type/OCG>> endobj 718 0 obj <</Intent 719 0 R/Usage 720 0 R/Name(Trait)/Type/OCG>> endobj 735 0 obj <</Intent 736 0 R/Usage 737 0 R/Name(Package)/Type/OCG>> endobj 753 0 obj <</Intent 754 0 R/Usage 755 0 R/Name(Object)/Type/OCG>> endobj 785 0 obj <</Intent 786 0 R/Usage 787 0 R/Name(Base)/Type/OCG>> endobj 789 0 obj <</Intent 790 0 R/Usage 791 0 R/Name(Class)/Type/OCG>> endobj 808 0 obj <</Intent 809 0 R/Usage 810 0 R/Name(Trait)/Type/OCG>> endobj 825 0 obj <</Intent 826 0 R/Usage 827 0 R/Name(Package)/Type/OCG>> endobj 843 0 obj <</Intent 844 0 R/Usage 845 0 R/Name(Object)/Type/OCG>> endobj 878 0 obj <</Intent 879 0 R/Usage 880 0 R/Name(Base)/Type/OCG>> endobj 882 0 obj <</Intent 883 0 R/Usage 884 0 R/Name(Class)/Type/OCG>> endobj 901 0 obj <</Intent 902 0 R/Usage 903 0 R/Name(Trait)/Type/OCG>> endobj 918 0 obj <</Intent 919 0 R/Usage 920 0 R/Name(Package)/Type/OCG>> endobj 936 0 obj <</Intent 937 0 R/Usage 938 0 R/Name(Object)/Type/OCG>> endobj 971 0 obj <</Intent 972 0 R/Usage 973 0 R/Name(Base)/Type/OCG>> endobj 975 0 obj <</Intent 976 0 R/Usage 977 0 R/Name(Class)/Type/OCG>> endobj 994 0 obj <</Intent 995 0 R/Usage 996 0 R/Name(Trait)/Type/OCG>> endobj 1011 0 obj <</Intent 1012 0 R/Usage 1013 0 R/Name(Package)/Type/OCG>> endobj 1029 0 obj <</Intent 1030 0 R/Usage 1031 0 R/Name(Object)/Type/OCG>> endobj 1030 0 obj [/View/Design] endobj 1031 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 1012 0 obj [/View/Design] endobj 1013 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 995 0 obj [/View/Design] endobj 996 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 976 0 obj [/View/Design] endobj 977 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 972 0 obj [/View/Design] endobj 973 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 937 0 obj [/View/Design] endobj 938 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 919 0 obj [/View/Design] endobj 920 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 902 0 obj [/View/Design] endobj 903 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 883 0 obj [/View/Design] endobj 884 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 879 0 obj [/View/Design] endobj 880 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 844 0 obj [/View/Design] endobj 845 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 826 0 obj [/View/Design] endobj 827 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 809 0 obj [/View/Design] endobj 810 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 790 0 obj [/View/Design] endobj 791 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 786 0 obj [/View/Design] endobj 787 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 754 0 obj [/View/Design] endobj 755 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 736 0 obj [/View/Design] endobj 737 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 719 0 obj [/View/Design] endobj 720 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 700 0 obj [/View/Design] endobj 701 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 696 0 obj [/View/Design] endobj 697 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 661 0 obj [/View/Design] endobj 662 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 643 0 obj [/View/Design] endobj 644 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 625 0 obj [/View/Design] endobj 626 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 606 0 obj [/View/Design] endobj 607 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 571 0 obj [/View/Design] endobj 572 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 553 0 obj [/View/Design] endobj 554 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 535 0 obj [/View/Design] endobj 536 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 516 0 obj [/View/Design] endobj 517 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 481 0 obj [/View/Design] endobj 482 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 463 0 obj [/View/Design] endobj 464 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 445 0 obj [/View/Design] endobj 446 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 426 0 obj [/View/Design] endobj 427 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 394 0 obj [/View/Design] endobj 395 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 376 0 obj [/View/Design] endobj 377 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 357 0 obj [/View/Design] endobj 358 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 325 0 obj [/View/Design] endobj 326 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 307 0 obj [/View/Design] endobj 308 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 288 0 obj [/View/Design] endobj 289 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 256 0 obj [/View/Design] endobj 257 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 238 0 obj [/View/Design] endobj 239 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 219 0 obj [/View/Design] endobj 220 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 193 0 obj [/View/Design] endobj 194 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 181 0 obj [/View/Design] endobj 182 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 168 0 obj [/View/Design] endobj 169 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 142 0 obj [/View/Design] endobj 143 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 130 0 obj [/View/Design] endobj 131 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 117 0 obj [/View/Design] endobj 118 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 91 0 obj [/View/Design] endobj 92 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 79 0 obj [/View/Design] endobj 80 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 66 0 obj [/View/Design] endobj 67 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 38 0 obj [/View/Design] endobj 39 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 28 0 obj [/View/Design] endobj 29 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 16 0 obj [/View/Design] endobj 17 0 obj <</CreatorInfo<</Subtype/Artwork/Creator(Adobe Illustrator 13.0)>>>> endobj 970 0 obj [1029 0 R 1011 0 R 994 0 R 975 0 R 971 0 R] endobj 5 0 obj <</CropBox[321.5 204.775 334.5 217.775]/Parent 2 0 R/Contents 1048 0 R/BleedBox[0.0 0.0 841.89 595.276]/PieceInfo<</Illustrator 962 0 R>>/ArtBox[321.5 204.775 334.5 217.775]/MediaBox[0.0 0.0 841.89 595.276]/Thumb 1053 0 R/TrimBox[0.0 0.0 841.89 595.276]/Resources<</XObject<</Fm0 986 0 R/Fm1 993 0 R/Fm2 1003 0 R/Fm3 1010 0 R/Fm4 1020 0 R/Fm5 1028 0 R/Fm6 1038 0 R/Fm7 1045 0 R>>/ColorSpace<</CS0 982 0 R>>/Font<</T1_0 1046 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 971 0 R/MC1 975 0 R/MC2 994 0 R/MC3 1011 0 R/MC4 1029 0 R>>/ExtGState<</GS0 978 0 R>>>>/Type/Page/LastModified(D:20100413200510+02'00')>> endobj 1048 0 obj <</Length 1948/Filter/FlateDecode>>stream
H‰ÌWËŽ5Ý÷Wx™,®Çå··L
ZÖíÿu¹ÄÐgIIy_±ã<¾+i,¼}pë:§Œ¿.ï öP—ÎØ5•æmØW±!¥´«{[°£
ûYì$ÖC«je ¹g±-´uÊG+ÒL„S×±[SãÒAðÞ¡°j}l6
@@ -594,12 +594,14 @@ H¶CŸá’:P«Ûzì Ž¾þ˜²må9cÄfwó§ s@Èð~¾0‡æð_f²p. ….7–ªdCõ¨¯¥^"'€ýù@Ó
eÀ!L<8“ØUoÎλvkºŠ]GîLxg‘‚bgv &›R;à2$ìx¶xÆ…˜N”Tg l3ûÝ#|XʪÕD^kE½ï‡V­%ÅIe@ÛT7|]Δ›ÚKšŸx OòºKËGìò0ðD¸M\[±)‡ðz®Ðy¶Û¿ãër¦ô“´™ïÍ•¨î?;äŸj"Ëi.ªÞGMr¿qÑ)ióµþÓö_'X(ü¶L|¯øJ_¦LãGA,)}Á^ç¾+¾´ïʽ²|ºBz${E» ×íóO‚ø¢
ÿ«
ù¬oH*U zE';«‹øhÐñ3žgÑn/µëRôÝ×ÜÀå pÄMùe#fP'Q¬
-8Éͯvù:¢—ÚÐÒó¹Ë&?`óø&Cw`„×}ëa¾Ù´i7¼6|F£†9¾5i#… g¦ºx;.¾s7íÀM;ª(Ϥc* Žr~g ê^±( ›xw ‡‹ÃSß/ýi‚^Êo€æÉiškMŸ| uàtŽ´•DÓÌu»¤UŽÊ@Ž‹˜ÝÚ‘ï?P\æË¡#¾Wðj‚­CÕ”s\Ñoè3«¡3 ¼¾ðW7¡Z³†¢ýEæðé|ý¸Êäm¶¢®Hg™UœRøÛå/
-8;Xnf&7>J<fDsP~> endstream endobj 885 0 obj <</OPM 1/BM/Normal/CA 1.0/OP false/SMask/None/ca 1.0/AIS false/op false/Type/ExtGState/SA true>> endobj 953 0 obj <</Subtype/Type1/FontDescriptor 954 0 R/LastChar 102/Widths[513 513 0 513 513 513 0 513 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 448 564 501 292]/BaseFont/WLSGHE+MyriadPro-Regular/FirstChar 49/Encoding/WinAnsiEncoding/Type/Font>> endobj 954 0 obj <</StemV 88/FontName/WLSGHE+MyriadPro-Regular/FontStretch/Normal/FontFile3 957 0 R/FontWeight 400/Flags 32/Descent -250/FontBBox[-157 -250 1126 952]/Ascent 952/FontFamily(Myriad Pro)/CapHeight 674/XHeight 484/Type/FontDescriptor/ItalicAngle 0>> endobj 957 0 obj <</Subtype/Type1C/Length 1273/Filter/FlateDecode>>stream
-H‰|S]PWÞ%ìF
-M[â2šÐÝÕZ„#b(?Šâ mÆfü IÔ$˜(EKÚ™¶&„PèP±øƒƒ¢uÈTmg
-Æü ì/<0ÙX,”ïÞcaWÆÇGGúP9‡±‘ltTTÔ*Ùõzc¾U—›-†}f6½Hg4MZ‹A¯`ײsfÖd0L¥¾¤0ŽÅ t6¿œÕ(ÔBF8]$œÙ ŒQFÆÄE+Øg93kà,{ &V+ìæ„&¡ÎbÒê û´¦ÖèSþCwýÏ8,WÄ
-^¬¦ˆó1µEHšYm‘~…àbœë¢3–YLœÁ¬X‘ªÎ./6°q¬Þ° Œc”¶Ã6ˆ°@߆²°bì"Æã›ñ~*¿Z.Òˆê_VuñÓ]¸€KºDUþü¡•÷ NÔC¡µðOIÄ¢«øˆ·Nì%·ÏÅ° œä¿£|ò1ÉñR¾o´ª,¬cÒv°†ŒÍÐI¤t-^×”Ä-¢š”Tyøü„ˆßâAßT‹¯tð&,Ÿ† ÙSÕ¯ˆ]ŸQ´kÝšE´œí<{C>ÝönzĺX”€¢™Ô4B#Ú@ê
+8Éͯvù:¢—ÚÐÒó¹Ë&?`óø&Cw`„×}ëa¾Ù´i7¼6|F£†9¾5i#… g¦ºx;.¾s7íÀM;ª(Ϥc* Žr~g ê^±( ›xw ‡‹ÃSß/ýi‚^Êo€æÉiškMŸ| uàtŽ´•DÓÌu»¤UŽÊ@Ž‹˜ÝÚ‘ï?P\æË¡#¾Wðj‚­CÕ”s\Ñoè3«¡3 ¼¾ðW7¡Z³†¢ýEæðé|ý¸Êäm¶¢®Hg™UœRøÛå/
+8;Xnf&7>J<fDsP~> endstream endobj 978 0 obj <</OPM 1/BM/Normal/CA 1.0/OP false/SMask/None/ca 1.0/AIS false/op false/Type/ExtGState/SA true>> endobj 1046 0 obj <</Subtype/Type1/FontDescriptor 1047 0 R/LastChar 102/Widths[513 513 0 513 513 513 0 513 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 448 564 501 292]/BaseFont/XAMDXC+MyriadPro-Regular/FirstChar 49/Encoding/WinAnsiEncoding/Type/Font>> endobj 1047 0 obj <</StemV 88/FontName/XAMDXC+MyriadPro-Regular/FontStretch/Normal/FontFile3 1050 0 R/FontWeight 400/Flags 32/Descent -250/FontBBox[-157 -250 1126 952]/Ascent 952/FontFamily(Myriad Pro)/CapHeight 674/XHeight 484/Type/FontDescriptor/ItalicAngle 0>> endobj 1050 0 obj <</Subtype/Type1C/Length 1212/Filter/FlateDecode>>stream
+H‰|SmPg¾#\N„¦-ñMìÝY-àH‘BR?
+((ØH%t´sÚ LÔŠšv¦-„ X~P¨"ZGT§„ŠZÔ"ÅX$ÊHüK;ô{ñÍŒ½Øÿý³»Ïûì³ûî;ïâXh†ãø¬‚ô¼Ì‚Œy;M^e2¾ŸÏm)+Ñ™‚$ÃËq~f(?;‚B ÇË—/s ¨}¾}yvè¹H,ÇžÎ0–
+Ú-Ÿ[ØÄ„„„¸ U°¯2]o,âXõN³…Ûffs¶o2šJ&…Ódzé%%l~Pffó93g*jâÕñ¬JHØna3JEœ2%1þ¿«±3«cM܃PÍÄéY‹I§ç¶éL[Yãfö:-\®þdg)Ǧ°zn3†áX$ŽQ!Ø, ËaáÂ#`yX)Ö…ùñ|¼/duˆ3ä•H-Ú7UÓÃOöà‚×#ª å«üª@•¨BË`ÏĈE½A ž ˆ7¼Ža°˜¿D#D’#åü€·¦"¬ãÒ3`÷Óibé0z÷£ÃÙ@Ü jÅ’ßàÁŸñ£<èb-y©›€w`æ£Iˆ=Sý‰Ø´UFn}<h;á>qM>yruc›Ÿ–ŒRQâòì™RèYÃp{?èÃ?/
+²ž 'ð±q$ºH"ÖÀ”E"بZ’`GÓ‰CÇ›;g9ÄÕ›Á CÛH‰u:‡ ù~ŸˆÏòÓº)Ö¡ÂÑÚî<#‡¨«'ÛE¦&Eµ¶ùP)]–MTt\¯‘Ãœ©ç õê®´3­›´.­Ü¼»ºº’iƒÅØÅëô BÂ]ü§GÐ"”Vøc©]e¶ïv0‹¾Ê(Ö¬¶jÕúh4C†–>A0 ƒiêDfh E%t•øà ÏÐ-mÎ{“mŠ §Ž¾¨f9ëöÓ?·ºOõÊÇzÕññ¹iŒÄz“ïê<óxå0?\é“z žRRßbCášE²8o*̆·&ï1ªý5õ$í ¥÷îw»vE6–;Š"‘X‘5–zÔêÛú)ê”)Ú¾AóÛùž»Gé Ón‰LêÉ)Ð.¡í¼@ßíЬSmܤþ‚Ik.<= WÏu{h‰Û:Âc¿ãÂØ1)«©xV¾ cB§®{AÔ}ʺ÷Ó<D4˜×7®“£Ä÷†æ£Øç1=ðËá†F‹¬#úr~Ù0l­ˆìôAû„ÔÍÇø )ÔUMž-ÓžN—£é1±HigPÌãX½vþò1ºV,­t&£âªS6÷ï%“Nj·moÕ^ZêÎ٥ѫäqŸŽýõâòý'ƒÝëÕŒÃj¯´Ê$ÿX‡aI?ÌíÇ;‚k\ÄA9eÿ¾ö@“̧%¢9JD¢hí‹…ù÷zè +û‰ÝÅœ5Wžô‘«{?u£þ¬×'ÿ»U¡¶1VXå-HÁ½D°4ŠWBØ-ö#yç‡Á?Úš¾ý¦‘n"ê¿,­/‘}¶gk1S¤¯Ì[!³¬È
+(…ŸéòØ€6¸`¡Ëí
+XêÅüÊ:”[0º.ֵבô‘Y_xvkúDø„3â ~ÿ ~.õ¯
H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó

V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚ó
@@ -608,8 +610,8 @@ H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8
N'çÎ)Î].ÂuæJ¸rî
î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö
n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=G</zÁ^Á^j¯­^—¼ Þ¡ÞZïQïBº0FX'Ü+œòáû¤útøŒû<öuñ-ôÝà{Ö÷µ__•ß˜ß-G”,ê}çïé/÷ñ¿ÀHh 8ðm W 2p[àŸƒ¸AiA«‚Ný#8$X¼?øAˆKHIÈ{!7Ä<q†¸Wüy(!46´-ôãÐaÁa†°ƒa†W†ï ¿¿@°@¹`lÁݧYÄŽˆÉH,²$òýÈÉ(Ç(YÔhÔ7ÑÎÑŠèÑ÷b<b*böÅ<Žõ‹ÕÇ~ûL&Y&9‡Ä%ÆuÇMÄsâsã‡ã¿NpJP%ìM˜I JlN<žDHJIÚtCj'•KwKg’C’—%ŸN¡§d§ §|“ꙪO=–§%§mL»½Ðu¡váx:H—¦oL¿“!ȨÉøC&13#s$ó/Y¢¬–¬³ÙÜìâì=ÙOsbsúrnåºçsOæ1óŠòvç=ËËïÏŸ\ä»hÙ¢óÖê‚#…¤Â¼Â…³‹ãoZ<]TÔUt}‰`IÃ’sK­—V-ý¤˜Y,+>TB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîÆ•Æ©ºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_p߶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO
-¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ
-/CS0 cs 0.616 0.196 0.196 scn
+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ
+/CS0 cs 0.29 0.486 0.133 scn
1 i
/GS0 gs
q 1 0 0 1 183 308.2725 cm
@@ -623,8 +625,8 @@ Q
q
/Fm0 Do
Q
- endstream endobj 900 0 obj <</Subtype/Form/Length 245/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 895 0 R/Resources<</XObject<</Fm0 899 0 R>>/ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[180.624 223.274 192.621 211.277]>>stream
-/CS0 cs 0.616 0.196 0.196 scn
+ endstream endobj 993 0 obj <</Subtype/Form/Length 244/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 988 0 R/Resources<</XObject<</Fm0 992 0 R>>/ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[180.624 223.274 192.621 211.277]>>stream
+/CS0 cs 0.29 0.486 0.133 scn
1 i
/GS0 gs
q 1 0 0 1 186.627 218.2744 cm
@@ -638,8 +640,8 @@ Q
q
/Fm0 Do
Q
- endstream endobj 910 0 obj <</Subtype/Form/Length 259/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 905 0 R/Resources<</XObject<</Fm0 909 0 R>>/ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[306.003 319.277 362.001 263.279]>>stream
-/CS0 cs 0.616 0.196 0.196 scn
+ endstream endobj 1003 0 obj <</Subtype/Form/Length 258/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 998 0 R/Resources<</XObject<</Fm0 1002 0 R>>/ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[306.003 319.277 362.001 263.279]>>stream
+/CS0 cs 0.29 0.486 0.133 scn
1 i
/GS0 gs
q 1 0 0 1 334.002 303.2773 cm
@@ -653,8 +655,8 @@ Q
q
/Fm0 Do
Q
- endstream endobj 917 0 obj <</Subtype/Form/Length 248/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 912 0 R/Resources<</XObject<</Fm0 916 0 R>>/ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[321.996 217.271 334.002 205.274]>>stream
-/CS0 cs 0.616 0.196 0.196 scn
+ endstream endobj 1010 0 obj <</Subtype/Form/Length 247/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1005 0 R/Resources<</XObject<</Fm0 1009 0 R>>/ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[321.996 217.271 334.002 205.274]>>stream
+/CS0 cs 0.29 0.486 0.133 scn
1 i
/GS0 gs
q 1 0 0 1 327.999 212.2715 cm
@@ -668,7 +670,7 @@ Q
q
/Fm0 Do
Q
- endstream endobj 927 0 obj <</Subtype/Form/Length 262/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 922 0 R/Resources<</XObject<</Fm0 926 0 R>>/ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[295.671 461.774 351.669 405.776]>>stream
+ endstream endobj 1020 0 obj <</Subtype/Form/Length 262/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1015 0 R/Resources<</XObject<</Fm0 1019 0 R>>/ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[295.671 461.774 351.669 405.776]>>stream
/CS0 cs 0.196 0.322 0.616 scn
1 i
/GS0 gs
@@ -683,7 +685,7 @@ Q
q
/Fm0 Do
Q
- endstream endobj 935 0 obj <</Subtype/Form/Length 241/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 930 0 R/Resources<</XObject<</Fm0 934 0 R>>/ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[309.171 492.275 321.168 480.278]>>stream
+ endstream endobj 1028 0 obj <</Subtype/Form/Length 241/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1023 0 R/Resources<</XObject<</Fm0 1027 0 R>>/ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[309.171 492.275 321.168 480.278]>>stream
/CS0 cs 0.196 0.322 0.616 scn
1 i
/GS0 gs
@@ -698,7 +700,7 @@ Q
q
/Fm0 Do
Q
- endstream endobj 945 0 obj <</Subtype/Form/Length 262/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 940 0 R/Resources<</XObject<</Fm0 944 0 R>>/ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[156.837 462.278 212.835 406.271]>>stream
+ endstream endobj 1038 0 obj <</Subtype/Form/Length 262/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1033 0 R/Resources<</XObject<</Fm0 1037 0 R>>/ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[156.837 462.278 212.835 406.271]>>stream
/CS0 cs 0.196 0.322 0.616 scn
1 i
/GS0 gs
@@ -713,7 +715,7 @@ Q
q
/Fm0 Do
Q
- endstream endobj 952 0 obj <</Subtype/Form/Length 240/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 947 0 R/Resources<</XObject<</Fm0 951 0 R>>/ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[183.873 501.023 195.879 489.026]>>stream
+ endstream endobj 1045 0 obj <</Subtype/Form/Length 240/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1040 0 R/Resources<</XObject<</Fm0 1044 0 R>>/ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[183.873 501.023 195.879 489.026]>>stream
/CS0 cs 0.196 0.322 0.616 scn
1 i
/GS0 gs
@@ -728,7 +730,7 @@ Q
q
/Fm0 Do
Q
- endstream endobj 947 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 951 0 obj <</Subtype/Form/Length 482/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 948 0 R/Resources<</XObject<</Fm0 950 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[183.873 501.023 195.879 489.026]>>stream
+ endstream endobj 1040 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1044 0 obj <</Subtype/Form/Length 482/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1041 0 R/Resources<</XObject<</Fm0 1043 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[183.873 501.023 195.879 489.026]>>stream
q
189.876 496.023 m
189.876 501.023 l
@@ -747,7 +749,7 @@ q
/Fm0 Do
Q
Q
- endstream endobj 948 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 950 0 obj <</Subtype/Form/Length 11006/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 949 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[183.873 501.023 195.879 489.026]>>stream
+ endstream endobj 1041 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1043 0 obj <</Subtype/Form/Length 11006/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1042 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[183.873 501.023 195.879 489.026]>>stream
/CS0 cs 0.2 0.325 0.624 scn
1 i
/GS0 gs
@@ -850,7 +852,7 @@ q 1 0 0 1 189.876 497.5073 cm
-1.093 -1.708 l
-1.262 -2.107 -1.291 -2.435 -1.188 -2.804 c
-1.126 -3.032 -0.727 -4.136 0.984 -3.565 c
-4.73 -2.315 2.784 0.034 2.453 0.246 c
+4.73 -2.315 2.784 0.034 2.453 0.247 c
1.442 0.896 0.101 0.218 0 0 c
0 3.516 l
3.312 3.516 6.003 0.834 6.003 -2.478 c
@@ -1129,7 +1131,7 @@ Q
q 1 0 0 1 191.5 495.7261 cm
0 0 m
-0.004 0.004 -0.533 0.573 -0.71 0.862 c
--0.568 0.875 -0.483 0.883 -0.265 0.809 c
+-0.568 0.875 -0.482 0.883 -0.264 0.809 c
-0.18 0.781 -0.083 0.699 -0.025 0.631 c
0.033 0.563 0.091 0.45 0.104 0.362 c
0.135 0.141 0.099 0.019 0.074 -0.062 c
@@ -1153,7 +1155,7 @@ q 1 0 0 1 189.876 501.0112 cm
0.15 0.006 0.046 -0.044 0 0 c
f
Q
- endstream endobj 949 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 940 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 944 0 obj <</Subtype/Form/Length 482/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 941 0 R/Resources<</XObject<</Fm0 943 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[156.837 462.278 212.835 406.271]>>stream
+ endstream endobj 1042 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1033 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1037 0 obj <</Subtype/Form/Length 482/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1034 0 R/Resources<</XObject<</Fm0 1036 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[156.837 462.278 212.835 406.271]>>stream
q
184.836 446.278 m
184.836 462.278 l
@@ -1172,7 +1174,7 @@ q
/Fm0 Do
Q
Q
- endstream endobj 941 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 943 0 obj <</Subtype/Form/Length 13525/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 942 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[156.837 462.278 212.835 406.271]>>stream
+ endstream endobj 1034 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1036 0 obj <</Subtype/Form/Length 13533/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1035 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[156.837 462.278 212.835 406.271]>>stream
/CS0 cs 0.208 0.337 0.655 scn
1 i
/GS0 gs
@@ -1199,7 +1201,7 @@ q 1 0 0 1 184.8359 451.4419 cm
6.606 -29.181 12.008 -23.781 11.999 -17.163 c
12.01 -10.555 6.607 -5.153 0 -5.164 c
0 -0.468 l
-0.316 -0.694 0.738 -0.996 1.055 -1.223 c
+0.316 -0.694 0.738 -0.997 1.055 -1.223 c
3.817 -3.661 7.459 -4.869 10 -7.617 c
12.018 -9.8 13.458 -12.461 14.279 -15.528 c
15.076 -18.507 16.901 -19.346 16.917 -19.348 c
@@ -1226,8 +1228,8 @@ q 1 0 0 1 184.8359 453.2891 cm
12.01 -12.402 6.607 -7 0 -7.011 c
0 -5.167 l
0.338 -5.201 0.788 -5.245 1.126 -5.278 c
-2.249 -5.476 12.143 -7.557 13.761 -19.538 c
-13.896 -20.531 13.436 -21.605 14.171 -22.516 c
+2.249 -5.476 12.144 -7.557 13.761 -19.538 c
+13.765 -19.565 14.171 -22.516 14.171 -22.516 c
14.636 -23.09 15.724 -23.507 16.459 -23.43 c
20.584 -22.993 26.416 -9.568 15.896 -1.312 c
7.943 4.929 0.035 0.084 0 0 c
@@ -1255,7 +1257,7 @@ q 1 0 0 1 184.8359 454.4082 cm
5.587 -8.118 13.156 -12.018 12.674 -22.551 c
12.559 -25.065 12.662 -26.483 12.98 -26.764 c
14.309 -27.938 23.357 -23.699 22.629 -14.042 c
-21.27 4.006 1.142 2.02 0 0 c
+21.269 4.004 1.142 2.019 0 0 c
0 7.87 l
15.462 7.87 27.999 -4.667 27.999 -20.129 c
27.999 -35.6 15.462 -48.137 0 -48.137 c
@@ -1274,7 +1276,7 @@ q 1 0 0 1 184.8359 455.3335 cm
-11.368 -29.209 -4.441 -35.048 3.701 -32.84 c
16.505 -28.457 l
19.639 -26.39 21.523 -23.894 22.614 -20.364 c
-24.61 -13.908 21.812 -4.74 13.674 -0.575 c
+24.61 -13.907 21.812 -4.74 13.674 -0.575 c
6.26 3.219 0.029 0.049 0 0 c
0 6.945 l
15.462 6.945 27.999 -5.592 27.999 -21.054 c
@@ -1325,7 +1327,7 @@ q 1 0 0 1 184.8359 457.5 cm
-3.111 -1.225 -7.25 -3.37 -10.633 -9.471 c
-11.685 -11.368 -15.021 -18.085 -13.796 -24.879 c
-12.453 -32.328 -5.461 -39.37 6.714 -37.227 c
-28.95 -33.313 28.976 -11.259 15.609 -2.301 c
+28.951 -33.313 28.976 -11.259 15.609 -2.301 c
7.856 2.895 0.038 0.056 0 0 c
0 4.778 l
15.462 4.778 27.999 -7.759 27.999 -23.221 c
@@ -1341,7 +1343,7 @@ q 1 0 0 1 184.8359 458.1108 cm
-0.285 -0.403 -1.085 -0.384 -1.55 -0.549 c
-2.14 -0.758 -7.426 -2.783 -11.14 -9.4 c
-12.536 -11.888 -15.643 -18.441 -14.343 -25.555 c
--13.274 -31.4 -7.567 -40.72 7.05 -38.576 c
+-13.275 -31.4 -7.567 -40.72 7.05 -38.576 c
28.069 -35.492 30.907 -13.131 16.17 -2.838 c
7.979 2.883 0.04 0.057 0 0 c
0 4.167 l
@@ -1375,8 +1377,8 @@ q 1 0 0 1 184.8359 459.2207 cm
-0.327 -0.44 -1.224 -0.37 -1.749 -0.528 c
-5.52 -1.667 -9.766 -5.26 -12.073 -9.267 c
-15.394 -15.036 -16.522 -20.933 -15.426 -26.792 c
--13.856 -35.181 -5.227 -43.018 7.675 -41.021 c
-29.388 -37.66 31.678 -13.959 16.092 -3.122 c
+-13.856 -35.181 -5.227 -43.019 7.675 -41.021 c
+29.387 -37.659 31.678 -13.959 16.092 -3.122 c
8.188 2.374 0.041 0.052 0 0 c
0 3.058 l
15.462 3.058 27.999 -9.479 27.999 -24.941 c
@@ -1423,11 +1425,11 @@ Q
0.153 0.251 0.482 scn
q 1 0 0 1 184.8359 460.6479 cm
0 0 m
--0.165 -0.201 -0.596 -0.119 -0.851 -0.169 c
+-0.165 -0.201 -0.596 -0.119 -0.852 -0.169 c
-6.63 -1.321 -11.086 -5.48 -13.33 -8.99 c
-17.823 -16.018 -17.959 -22.68 -17.283 -27.032 c
-15.528 -38.313 -5.353 -45.642 6.913 -44.456 c
-29.058 -42.316 33.218 -18.568 18.588 -5.674 c
+29.058 -42.316 33.217 -18.568 18.588 -5.674 c
9.722 2.142 0.051 0.062 0 0 c
0 1.63 l
15.462 1.63 27.999 -10.907 27.999 -26.369 c
@@ -1444,7 +1446,7 @@ q 1 0 0 1 184.8359 461.0591 cm
-5.333 -1.052 -10.598 -4.013 -13.752 -8.857 c
-18.474 -16.108 -18.606 -22.979 -17.885 -27.466 c
-16.272 -37.507 -7.1 -46.929 7.31 -45.507 c
-29.579 -43.31 33.524 -19.12 18.666 -5.999 c
+29.58 -43.31 33.524 -19.12 18.666 -5.999 c
9.679 1.938 0.05 0.061 0 0 c
0 1.219 l
15.462 1.219 27.999 -11.318 27.999 -26.78 c
@@ -1478,7 +1480,7 @@ q 1 0 0 1 184.8359 461.7397 cm
-5.616 -0.798 -11.203 -3.577 -14.553 -8.414 c
-20.526 -17.037 -19.484 -25.015 -19.142 -27.636 c
-17.325 -41.551 -4.721 -48.305 6.215 -47.597 c
-22.827 -46.52 31.84 -32.415 25.896 -16.796 c
+22.827 -46.52 31.839 -32.415 25.896 -16.796 c
27.251 -20.083 27.999 -23.685 27.999 -27.46 c
27.999 -42.931 15.462 -55.468 0 -55.468 c
-15.462 -55.468 -27.999 -42.931 -27.999 -27.46 c
@@ -1557,7 +1559,7 @@ Q
q 1 0 0 1 200.7622 436.103 cm
0 0 m
-1.706 2.422 -2.871 5.192 -4.806 7.466 c
--5.581 8.376 -6.334 9.141 -7.046 9.74 c
+-5.581 8.375 -6.334 9.141 -7.046 9.74 c
-7.103 9.788 -12.699 14.577 -12.706 14.929 c
-12.708 15.035 -10.925 16.753 -10.74 16.825 c
-10.058 17.086 -7.544 17.231 -6.875 17.166 c
@@ -1575,25 +1577,25 @@ q 1 0 0 1 200.8965 438.5967 cm
-5.844 7.601 -6.16 7.969 -6.419 8.224 c
-6.913 8.711 -7.551 9.382 -8.074 9.839 c
-9.724 11.281 -9.908 11.547 -9.911 11.595 c
--9.914 11.657 -8.495 13.252 -8.295 13.411 c
--8.132 13.541 -7.808 13.456 -7.601 13.433 c
--5.32 13.184 -2.962 12.927 -0.476 10.566 c
-2.531 7.709 2.783 5.143 2.904 3.91 c
+-9.914 11.655 -8.389 13.369 -8.295 13.411 c
+-7.711 13.674 -6.801 13.346 -6.164 13.276 c
+-2.962 12.927 -1.156 11.212 -0.476 10.566 c
+2.531 7.709 2.783 5.143 2.904 3.909 c
2.938 3.565 2.929 0.875 2.709 0.41 c
2.675 0.337 0.707 -0.875 0.645 -0.861 c
0.33 -0.793 0.182 -0.267 0 0 c
f
Q
0.224 0.361 0.694 scn
-q 1 0 0 1 199.981 442.126 cm
+q 1 0 0 1 199.9814 442.126 cm
0 0 m
--0.736 0.236 -1.075 1.45 -1.575 2.04 c
--3.148 3.894 -3.148 3.894 -3.896 4.678 c
--4.212 5.008 -4.839 5.354 -4.922 5.803 c
+-0.737 0.235 -1.076 1.45 -1.576 2.04 c
+-3.148 3.895 -3.148 3.895 -3.897 4.678 c
+-4.212 5.008 -4.84 5.354 -4.922 5.803 c
-4.014 7.981 l
--3.952 8.007 -1.426 7.15 0.33 5.083 c
-1.632 3.552 2.398 0.755 2.281 0.574 c
-1.906 -0.01 0.7 -0.197 0.037 0.011 c
+-3.953 8.007 -1.427 7.15 0.33 5.083 c
+1.631 3.552 2.397 0.755 2.281 0.574 c
+1.906 -0.01 0.699 -0.197 0.037 0.011 c
0.026 0.014 0.011 -0.003 0 0 c
f
Q
@@ -1632,7 +1634,7 @@ q 1 0 0 1 184.8359 462.2749 cm
0.701 -0.01 0.211 -0.214 0 0 c
f
Q
- endstream endobj 942 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 930 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 934 0 obj <</Subtype/Form/Length 477/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 931 0 R/Resources<</XObject<</Fm0 933 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[309.171 492.275 321.168 480.278]>>stream
+ endstream endobj 1035 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1023 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1027 0 obj <</Subtype/Form/Length 477/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1024 0 R/Resources<</XObject<</Fm0 1026 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[309.171 492.275 321.168 480.278]>>stream
q
315.165 487.275 m
315.165 492.275 l
@@ -1651,7 +1653,7 @@ q
/Fm0 Do
Q
Q
- endstream endobj 931 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 933 0 obj <</Subtype/Form/Length 11078/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 932 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[309.171 492.275 321.168 480.278]>>stream
+ endstream endobj 1024 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1026 0 obj <</Subtype/Form/Length 11079/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1025 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[309.171 492.275 321.168 480.278]>>stream
/CS0 cs 0.2 0.325 0.624 scn
1 i
/GS0 gs
@@ -1789,7 +1791,7 @@ q 1 0 0 1 315.165 489.1035 cm
-0.734 -0.546 -0.993 -1.253 -1.244 -1.936 c
-1.353 -2.232 -1.496 -2.812 -1.238 -3.374 c
-0.612 -4.739 1.248 -4.146 1.803 -3.932 c
-4.138 -3.031 4.266 -0.308 2.51 0.419 c
+4.138 -3.031 4.265 -0.308 2.51 0.419 c
1.108 1 0.006 0.012 0 0 c
0 3.172 l
3.312 3.172 6.003 0.49 6.003 -2.831 c
@@ -1840,7 +1842,7 @@ q 1 0 0 1 315.165 489.7065 cm
-0.751 -0.537 -1.207 -1.436 -1.319 -1.735 c
-1.402 -1.96 -1.802 -3.124 -1.467 -3.945 c
-0.712 -5.795 1.956 -4.866 1.982 -4.855 c
-5.3 -3.58 5.175 -0.371 3.116 0.573 c
+5.299 -3.58 5.174 -0.371 3.116 0.573 c
1.411 1.355 0.007 0.017 0 0 c
0 2.569 l
3.312 2.569 6.003 -0.113 6.003 -3.434 c
@@ -1910,7 +1912,7 @@ q 1 0 0 1 315.165 491.083 cm
-1.149 -1.351 -1.614 -2.354 -1.616 -2.362 c
-2.165 -3.906 -2.034 -4.643 -1.834 -5.161 c
-0.959 -7.42 1.653 -7.023 2.585 -6.679 c
-3.892 -6.198 6.612 -5.195 5.552 -2.522 c
+3.892 -6.198 6.61 -5.196 5.552 -2.522 c
5.843 -3.227 6.003 -4 6.003 -4.811 c
6.003 -8.123 3.312 -10.805 0 -10.805 c
-3.312 -10.805 -5.994 -8.123 -5.994 -4.811 c
@@ -1995,7 +1997,7 @@ q 1 0 0 1 316.7451 486.4531 cm
-0.662 0.769 -0.836 0.916 -0.974 1.096 c
-1.233 1.432 -1.232 1.599 -1.232 1.6 c
-1.226 1.62 -0.028 2.446 0.591 1.368 c
-1.026 0.612 0.245 -0.132 0.233 -0.134 c
+1.026 0.611 0.245 -0.132 0.233 -0.134 c
0.153 -0.145 0.065 -0.047 0 0 c
f
Q
@@ -2058,7 +2060,7 @@ q 1 0 0 1 315.165 492.2632 cm
0.15 0.006 0.046 -0.044 0 0 c
f
Q
- endstream endobj 932 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 922 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 926 0 obj <</Subtype/Form/Length 473/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 923 0 R/Resources<</XObject<</Fm0 925 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[295.671 461.774 351.669 405.776]>>stream
+ endstream endobj 1025 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1015 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1019 0 obj <</Subtype/Form/Length 473/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1016 0 R/Resources<</XObject<</Fm0 1018 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[295.671 461.774 351.669 405.776]>>stream
q
323.67 445.774 m
323.67 461.774 l
@@ -2077,7 +2079,7 @@ q
/Fm0 Do
Q
Q
- endstream endobj 923 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 925 0 obj <</Subtype/Form/Length 13513/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 924 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[295.671 461.774 351.669 405.776]>>stream
+ endstream endobj 1016 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1018 0 obj <</Subtype/Form/Length 13391/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1017 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[295.671 461.774 351.669 405.776]>>stream
/CS0 cs 0.208 0.337 0.655 scn
1 i
/GS0 gs
@@ -2122,7 +2124,7 @@ Q
q 1 0 0 1 323.6699 452.7832 cm
0 0 m
-0.297 -0.712 -1.488 -1.167 -1.738 -1.898 c
--1.989 -2.637 -2.004 -3.871 -1.531 -4.492 c
+-1.989 -2.637 -2.005 -3.871 -1.531 -4.492 c
-1.227 -4.891 -0.45 -4.943 0 -5.165 c
0 -7.009 l
-6.615 -7 -12.009 -12.397 -11.999 -19.008 c
@@ -2157,10 +2159,10 @@ q 1 0 0 1 323.6699 453.9038 cm
12.01 -13.521 6.607 -8.119 0 -8.129 c
0 -7.407 l
0.312 -7.427 0.727 -7.454 1.039 -7.474 c
-5.586 -8.118 13.155 -12.017 12.674 -22.547 c
+5.586 -8.118 13.154 -12.018 12.674 -22.547 c
12.56 -25.06 12.663 -26.477 12.982 -26.758 c
-14.31 -27.928 23.355 -23.682 22.629 -14.041 c
-21.271 4 1.142 2.018 0 0 c
+14.311 -27.928 23.356 -23.682 22.629 -14.041 c
+21.27 3.998 1.142 2.018 0 0 c
0 7.871 l
15.462 7.871 27.999 -4.667 27.999 -20.128 c
27.999 -35.59 15.462 -48.127 0 -48.127 c
@@ -2174,8 +2176,8 @@ q 1 0 0 1 323.6699 454.8291 cm
0 0 m
-0.223 -0.378 -0.896 -0.494 -1.28 -0.706 c
-3.988 -2.198 -4.356 -2.882 -7.222 -8.202 c
--10.978 -15.406 l
--12.035 -17.648 -12.409 -19.973 -12.123 -22.51 c
+-10.979 -15.406 l
+-12.035 -17.648 -12.409 -19.972 -12.123 -22.51 c
-11.368 -29.204 -4.441 -35.039 3.701 -32.831 c
16.504 -28.45 l
19.64 -26.383 21.524 -23.889 22.614 -20.364 c
@@ -2192,12 +2194,9 @@ Q
0.192 0.31 0.596 scn
q 1 0 0 1 323.6699 455.6289 cm
0 0 m
--0.174 -0.267 -0.682 -0.299 -0.974 -0.428 c
--3.272 -1.437 -6.368 -4.312 -7.598 -6.58 c
--13.391 -17.255 -13 -20.65 -12.686 -23.378 c
--12.045 -28.943 -6.307 -36.331 3.975 -34.516 c
-34.372 -29.149 23.201 -7.032 15.417 -1.844 c
-7.622 3.352 0.039 0.059 0 0 c
+-11.795 -5.181 -18.994 -27.783 -4.636 -33.729 c
+5.806 -38.053 30.469 -28.935 22.345 -10.09 c
+19.107 -2.58 10.176 3.509 0 0 c
0 6.146 l
15.462 6.146 27.999 -6.392 27.999 -21.854 c
27.999 -37.315 15.462 -49.853 0 -49.853 c
@@ -2263,8 +2262,8 @@ q 1 0 0 1 323.6699 458.1792 cm
-0.295 -0.407 -1.114 -0.365 -1.591 -0.521 c
-3.039 -0.995 -8.059 -3.066 -11.891 -9.807 c
-12.952 -11.675 -16.307 -18.377 -14.887 -26.189 c
--13.692 -32.762 -6.813 -41.824 7.243 -39.848 c
-28.686 -36.834 31.47 -13.846 16.374 -3.144 c
+-13.692 -32.762 -6.813 -41.823 7.243 -39.848 c
+28.687 -36.834 31.471 -13.847 16.374 -3.144 c
8.08 2.737 0.041 0.056 0 0 c
0 3.595 l
15.462 3.595 27.999 -8.942 27.999 -24.404 c
@@ -2281,7 +2280,7 @@ q 1 0 0 1 323.6699 458.7163 cm
-5.521 -1.665 -9.768 -5.259 -12.076 -9.267 c
-15.396 -15.033 -16.523 -20.929 -15.426 -26.791 c
-13.856 -35.175 -5.227 -43.009 7.675 -41.011 c
-29.381 -37.65 31.673 -13.956 16.092 -3.122 c
+29.382 -37.65 31.673 -13.956 16.092 -3.122 c
8.188 2.374 0.041 0.052 0 0 c
0 3.058 l
15.462 3.058 27.999 -9.479 27.999 -24.941 c
@@ -2295,7 +2294,7 @@ Q
q 1 0 0 1 323.6699 459.2314 cm
0 0 m
-0.315 -0.414 -1.17 -0.321 -1.672 -0.458 c
--5.63 -1.542 -10.188 -5.222 -12.512 -9.206 c
+-5.63 -1.542 -10.189 -5.222 -12.512 -9.206 c
-13.797 -11.409 -17.707 -18.115 -15.958 -27.369 c
-14.312 -36.085 -5.369 -44.227 7.962 -42.147 c
29.823 -38.738 32.256 -15.066 16.713 -3.752 c
@@ -2382,7 +2381,7 @@ q 1 0 0 1 323.6699 461.2358 cm
-0.366 -0.422 -1.291 -0.183 -1.844 -0.262 c
-5.618 -0.797 -11.206 -3.577 -14.557 -8.414 c
-20.527 -17.033 -19.484 -25.013 -19.142 -27.635 c
--17.325 -41.544 -4.721 -48.296 6.215 -47.587 c
+-17.325 -41.544 -4.721 -48.297 6.215 -47.587 c
22.825 -46.511 31.838 -32.41 25.896 -16.796 c
27.251 -20.083 27.999 -23.685 27.999 -27.46 c
27.999 -42.922 15.462 -55.459 0 -55.459 c
@@ -2438,8 +2437,8 @@ Q
0.122 0.2 0.384 scn
q 1 0 0 1 319.437 461.4541 cm
0 0 m
--22.53 -4.549 -23.53 -35.024 -6.331 -46.258 c
-6.847 -54.865 25.642 -52.171 31.071 -35.682 c
+-22.531 -4.549 -23.531 -35.025 -6.331 -46.258 c
+6.847 -54.864 25.642 -52.17 31.071 -35.682 c
27.627 -47.245 16.914 -55.678 4.233 -55.678 c
-11.238 -55.678 -23.766 -43.141 -23.766 -27.679 c
-23.766 -13.386 -13.062 -1.593 0.777 0.109 c
@@ -2462,20 +2461,20 @@ Q
q 1 0 0 1 339.5962 435.5991 cm
0 0 m
-1.706 2.422 -2.871 5.192 -4.806 7.466 c
--5.581 8.376 -6.334 9.141 -7.046 9.74 c
--7.103 9.788 -12.699 14.576 -12.705 14.929 c
+-5.581 8.375 -6.334 9.141 -7.046 9.74 c
+-7.103 9.788 -12.699 14.577 -12.705 14.929 c
-12.707 15.035 -10.925 16.753 -10.74 16.825 c
-10.058 17.086 -7.544 17.231 -6.875 17.166 c
-5.111 16.992 -2.438 16.241 0.275 13.649 c
3.79 10.293 4.269 6.382 4.332 5.263 c
-4.608 0.362 1.816 -1.552 1.125 -1.426 c
+4.608 0.362 1.816 -1.553 1.125 -1.426 c
0.589 -1.328 0.314 -0.445 0 0 c
f
Q
0.22 0.353 0.682 scn
q 1 0 0 1 339.7305 438.0928 cm
0 0 m
--1.971 2.884 -3.056 4.472 -4.87 6.595 c
+-1.97 2.883 -3.055 4.471 -4.87 6.595 c
-5.072 6.832 -5.375 7.116 -5.591 7.34 c
-5.844 7.601 -6.16 7.969 -6.419 8.224 c
-6.913 8.711 -7.551 9.382 -8.074 9.839 c
@@ -2483,29 +2482,29 @@ q 1 0 0 1 339.7305 438.0928 cm
-9.914 11.657 -8.495 13.252 -8.295 13.411 c
-8.132 13.541 -7.808 13.456 -7.601 13.433 c
-5.32 13.184 -2.962 12.927 -0.476 10.566 c
-2.531 7.709 2.783 5.143 2.904 3.91 c
+2.531 7.709 2.783 5.143 2.904 3.909 c
2.938 3.565 2.929 0.875 2.709 0.41 c
2.675 0.337 0.707 -0.875 0.645 -0.861 c
0.33 -0.793 0.182 -0.267 0 0 c
f
Q
0.224 0.361 0.694 scn
-q 1 0 0 1 338.8149 441.6221 cm
+q 1 0 0 1 338.8154 441.6221 cm
0 0 m
--0.736 0.235 -1.075 1.45 -1.575 2.04 c
--3.148 3.894 -3.148 3.894 -3.896 4.678 c
--4.212 5.008 -4.839 5.354 -4.922 5.803 c
+-0.737 0.235 -1.076 1.45 -1.576 2.04 c
+-3.148 3.894 -3.148 3.894 -3.897 4.678 c
+-4.212 5.008 -4.84 5.354 -4.922 5.803 c
-4.014 7.981 l
--3.952 8.007 -1.426 7.15 0.33 5.083 c
-1.632 3.552 2.398 0.755 2.281 0.574 c
-1.906 -0.01 0.7 -0.197 0.037 0.011 c
+-3.953 8.007 -1.427 7.15 0.33 5.083 c
+1.631 3.552 2.397 0.755 2.281 0.574 c
+1.906 -0.01 0.699 -0.197 0.037 0.011 c
0.026 0.014 0.011 -0.003 0 0 c
f
Q
0.141 0.227 0.439 scn
q 1 0 0 1 335.7192 459.0469 cm
0 0 m
--5.215 2.39 -9.179 2.425 -12.049 2.189 c
+-5.275 2.417 -9.403 2.407 -12.049 2.189 c
-12.049 2.728 l
-6.604 2.728 -1.522 1.173 2.777 -1.517 c
2.232 -1.205 1.506 -0.789 0.961 -0.477 c
@@ -2524,7 +2523,7 @@ Q
0.133 0.216 0.412 scn
q 1 0 0 1 327.9009 461.4541 cm
0 0 m
--2.557 0.263 -2.657 0.273 -4.231 0.228 c
+-1.314 0.178 -2.48 0.278 -4.231 0.228 c
-4.231 0.32 l
-2.431 0.32 -0.671 0.15 1.035 -0.174 c
0.724 -0.122 0.312 -0.042 0 0 c
@@ -2537,7 +2536,7 @@ q 1 0 0 1 323.6699 461.771 cm
0.701 -0.01 0.211 -0.214 0 0 c
f
Q
- endstream endobj 924 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 912 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 916 0 obj <</Subtype/Form/Length 478/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 913 0 R/Resources<</XObject<</Fm0 915 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[321.996 217.271 334.002 205.274]>>stream
+ endstream endobj 1017 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1005 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1009 0 obj <</Subtype/Form/Length 478/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1006 0 R/Resources<</XObject<</Fm0 1008 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[321.996 217.271 334.002 205.274]>>stream
q
327.999 212.271 m
327.999 217.271 l
@@ -2556,8 +2555,8 @@ q
/Fm0 Do
Q
Q
- endstream endobj 913 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 915 0 obj <</Subtype/Form/Length 11074/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 914 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[321.996 217.271 334.002 205.274]>>stream
-/CS0 cs 0.624 0.2 0.2 scn
+ endstream endobj 1006 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1008 0 obj <</Subtype/Form/Length 11068/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1007 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[321.996 217.271 334.002 205.274]>>stream
+/CS0 cs 0.294 0.494 0.133 scn
1 i
/GS0 gs
q 1 0 0 1 327.999 212.2715 cm
@@ -2588,7 +2587,7 @@ q 1 0 0 1 327.999 213.1963 cm
0.142 -0.55 0.184 -0.536 0.21 -0.549 c
1.046 -1.473 l
1.441 -2.153 1.79 -2.106 1.805 -2.104 c
-2.058 -2.064 3.185 -0.619 1.901 0.191 c
+2.057 -2.064 3.185 -0.619 1.901 0.191 c
1.598 0.383 1.275 0.409 1.132 0.396 c
0 0 l
0 4.075 l
@@ -2599,7 +2598,7 @@ q 1 0 0 1 327.999 213.1963 cm
0 0 l
f
Q
-0.612 0.196 0.196 scn
+0.286 0.482 0.133 scn
q 1 0 0 1 327.999 213.3379 cm
0 0 m
-0.03 -0.092 -0.164 -0.17 -0.185 -0.265 c
@@ -2620,7 +2619,7 @@ q 1 0 0 1 327.999 213.3379 cm
0 0 l
f
Q
-0.596 0.192 0.192 scn
+0.278 0.471 0.129 scn
q 1 0 0 1 327.999 213.4785 cm
0 0 m
-0.294 -0.83 -1.296 -1.345 -1.079 -2.404 c
@@ -2637,7 +2636,7 @@ q 1 0 0 1 327.999 213.4785 cm
0 0 l
f
Q
-0.58 0.188 0.188 scn
+0.275 0.459 0.125 scn
q 1 0 0 1 327.999 213.6182 cm
0 0 m
-0.352 -0.866 -1.383 -1.428 -1.146 -2.558 c
@@ -2653,7 +2652,7 @@ q 1 0 0 1 327.999 213.6182 cm
0 0 l
f
Q
-0.569 0.18 0.18 scn
+0.267 0.447 0.122 scn
q 1 0 0 1 327.999 213.7549 cm
0 0 m
-0.193 -0.417 -0.585 -0.691 -0.795 -1.098 c
@@ -2670,7 +2669,7 @@ q 1 0 0 1 327.999 213.7549 cm
0 0 l
f
Q
-0.553 0.176 0.176 scn
+0.259 0.439 0.118 scn
q 1 0 0 1 327.999 213.9082 cm
0 0 m
-0.013 -0.025 -0.053 -0.04 -0.076 -0.058 c
@@ -2687,7 +2686,7 @@ q 1 0 0 1 327.999 213.9082 cm
0 0 l
f
Q
-0.541 0.173 0.173 scn
+0.255 0.427 0.118 scn
q 1 0 0 1 327.999 214.0996 cm
0 0 m
-0.034 -0.067 -0.142 -0.105 -0.203 -0.15 c
@@ -2704,7 +2703,7 @@ q 1 0 0 1 327.999 214.0996 cm
0 0 l
f
Q
-0.525 0.169 0.169 scn
+0.247 0.416 0.114 scn
q 1 0 0 1 327.999 214.2871 cm
0 0 m
-0.037 -0.069 -0.152 -0.104 -0.217 -0.147 c
@@ -2721,7 +2720,7 @@ q 1 0 0 1 327.999 214.2871 cm
0 0 l
f
Q
-0.51 0.165 0.165 scn
+0.239 0.404 0.11 scn
q 1 0 0 1 327.999 214.4717 cm
0 0 m
-0.176 -0.317 -0.542 -0.437 -0.748 -0.722 c
@@ -2738,7 +2737,7 @@ q 1 0 0 1 327.999 214.4717 cm
0 0 l
f
Q
-0.498 0.161 0.161 scn
+0.235 0.392 0.106 scn
q 1 0 0 1 327.999 214.7031 cm
0 0 m
-0.06 -0.133 -0.265 -0.211 -0.386 -0.291 c
@@ -2755,15 +2754,15 @@ q 1 0 0 1 327.999 214.7031 cm
0 0 l
f
Q
-0.482 0.153 0.153 scn
+0.227 0.38 0.106 scn
q 1 0 0 1 327.999 214.9854 cm
0 0 m
-0.04 -0.083 -0.167 -0.135 -0.239 -0.193 c
-0.736 -0.594 -1.131 -1.171 -1.412 -1.908 c
-1.719 -2.715 -1.736 -3.694 -1.577 -4.139 c
-0.858 -6.132 1.881 -5.304 1.908 -5.295 c
-5.597 -4.044 5.759 -0.555 3.075 0.691 c
-1.838 1.267 0.163 0.34 0 0 c
+5.598 -4.044 5.76 -0.555 3.075 0.691 c
+1.838 1.266 0.163 0.34 0 0 c
0 2.286 l
3.312 2.286 6.003 -0.396 6.003 -3.708 c
6.003 -7.02 3.312 -9.711 0 -9.711 c
@@ -2772,7 +2771,7 @@ q 1 0 0 1 327.999 214.9854 cm
0 0 l
f
Q
-0.467 0.149 0.149 scn
+0.22 0.369 0.102 scn
q 1 0 0 1 327.999 215.2715 cm
0 0 m
-0.045 -0.106 -0.21 -0.167 -0.302 -0.236 c
@@ -2789,7 +2788,7 @@ q 1 0 0 1 327.999 215.2715 cm
0 0 l
f
Q
-0.455 0.145 0.145 scn
+0.212 0.361 0.098 scn
q 1 0 0 1 327.999 215.6543 cm
0 0 m
-0.163 -0.361 -0.542 -0.515 -0.779 -0.805 c
@@ -2807,7 +2806,7 @@ q 1 0 0 1 327.999 215.6543 cm
0 0 l
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 327.999 216.0791 cm
0 0 m
-0.128 -0.296 -0.442 -0.404 -0.638 -0.631 c
@@ -2823,7 +2822,7 @@ q 1 0 0 1 327.999 216.0791 cm
0 0 l
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 327.999 216.5439 cm
0 0 m
-0.037 -0.078 -0.154 -0.129 -0.22 -0.185 c
@@ -2838,7 +2837,7 @@ q 1 0 0 1 327.999 216.5439 cm
0 0 l
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 327.999 216.9863 cm
0 0 m
-0.038 -0.066 -0.155 -0.09 -0.221 -0.129 c
@@ -2853,7 +2852,7 @@ q 1 0 0 1 327.999 216.9863 cm
0 0 l
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 327.999 217.2598 cm
0 0 m
-0.043 -0.053 -0.154 -0.029 -0.221 -0.042 c
@@ -2867,7 +2866,7 @@ q 1 0 0 1 327.999 217.2598 cm
0 0 l
f
Q
-0.384 0.122 0.122 scn
+0.18 0.302 0.082 scn
q 1 0 0 1 327.0938 217.1953 cm
0 0 m
-1.738 -0.59 -1.75 -4.505 -1.75 -4.545 c
@@ -2879,7 +2878,7 @@ q 1 0 0 1 327.0938 217.1953 cm
0.115 0.021 0.049 0.013 0 0 c
f
Q
-0.369 0.118 0.118 scn
+0.173 0.29 0.078 scn
q 1 0 0 1 325.7642 216.7715 cm
0 0 m
-1.064 -0.938 -0.813 -4.867 -0.541 -5.6 c
@@ -2893,10 +2892,10 @@ q 1 0 0 1 325.7642 216.7715 cm
0.161 0.102 0.061 0.054 0 0 c
f
Q
-0.639 0.204 0.204 scn
+0.302 0.506 0.137 scn
q 1 0 0 1 329.5791 211.4561 cm
0 0 m
--0.096 0.068 -0.096 0.068 -0.519 0.587 c
+-0.095 0.068 -0.095 0.068 -0.519 0.587 c
-0.661 0.762 -0.834 0.909 -0.973 1.089 c
-1.125 1.286 -1.231 1.594 y
-1.226 1.612 -0.029 2.438 0.592 1.362 c
@@ -2904,7 +2903,7 @@ q 1 0 0 1 329.5791 211.4561 cm
0.153 -0.144 0.065 -0.047 0 0 c
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 330.5688 216.6631 cm
0 0 m
-1.295 0.462 -2.254 -0.325 -2.57 -0.584 c
@@ -2914,7 +2913,7 @@ q 1 0 0 1 330.5688 216.6631 cm
0.219 -0.095 0.096 -0.034 0 0 c
f
Q
-0.655 0.208 0.208 scn
+0.306 0.518 0.141 scn
q 1 0 0 1 329.6191 211.708 cm
0 0 m
-0.335 0.354 l
@@ -2925,7 +2924,7 @@ q 1 0 0 1 329.6191 211.708 cm
0.106 -0.131 0.048 -0.039 0 0 c
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 329.7661 216.9941 cm
0 0 m
-0.649 0.12 -1.161 -0.01 -1.767 -0.45 c
@@ -2935,7 +2934,7 @@ q 1 0 0 1 329.7661 216.9941 cm
0.02 -0.005 0.009 -0.002 0 0 c
f
Q
-0.667 0.216 0.216 scn
+0.314 0.525 0.145 scn
q 1 0 0 1 329.623 211.9746 cm
0 0 m
-0.004 0.004 -0.533 0.572 -0.71 0.861 c
@@ -2946,7 +2945,7 @@ q 1 0 0 1 329.623 211.9746 cm
0.052 -0.044 0.021 -0.021 0 0 c
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 328.9043 217.1943 cm
0 0 m
-0.314 -0.006 -0.487 -0.009 -0.905 -0.208 c
@@ -2955,7 +2954,7 @@ q 1 0 0 1 328.9043 217.1943 cm
0.157 -0.021 0.068 -0.004 0 0 c
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 327.999 217.2598 cm
0 0 m
0 0.012 l
@@ -2963,7 +2962,7 @@ q 1 0 0 1 327.999 217.2598 cm
0.15 0.006 0.046 -0.045 0 0 c
f
Q
- endstream endobj 914 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 905 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 909 0 obj <</Subtype/Form/Length 475/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 906 0 R/Resources<</XObject<</Fm0 908 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[306.003 319.277 362.001 263.279]>>stream
+ endstream endobj 1007 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 998 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1002 0 obj <</Subtype/Form/Length 475/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 999 0 R/Resources<</XObject<</Fm0 1001 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[306.003 319.277 362.001 263.279]>>stream
q
334.002 303.277 m
334.002 319.277 l
@@ -2982,8 +2981,8 @@ q
/Fm0 Do
Q
Q
- endstream endobj 906 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 908 0 obj <</Subtype/Form/Length 13488/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 907 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[306.003 319.277 362.001 263.279]>>stream
-/CS0 cs 0.655 0.208 0.208 scn
+ endstream endobj 999 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1001 0 obj <</Subtype/Form/Length 13469/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 1000 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[306.003 319.277 362.001 263.279]>>stream
+/CS0 cs 0.306 0.518 0.141 scn
1 i
/GS0 gs
q 1 0 0 1 334.002 303.2773 cm
@@ -3023,7 +3022,7 @@ q 1 0 0 1 334.002 308.4409 cm
0 0 l
f
Q
-0.639 0.204 0.204 scn
+0.302 0.506 0.137 scn
q 1 0 0 1 334.002 310.2881 cm
0 0 m
-0.296 -0.712 -1.487 -1.168 -1.735 -1.898 c
@@ -3049,7 +3048,7 @@ q 1 0 0 1 334.002 310.2881 cm
0 0 l
f
Q
-0.624 0.2 0.2 scn
+0.294 0.494 0.133 scn
q 1 0 0 1 334.002 311.4072 cm
0 0 m
-0.627 -1.109 -1.866 -1.525 -2.708 -2.391 c
@@ -3064,7 +3063,7 @@ q 1 0 0 1 334.002 311.4072 cm
0.312 -7.428 0.727 -7.455 1.039 -7.475 c
5.587 -8.118 13.155 -12.018 12.674 -22.55 c
12.559 -25.063 12.663 -26.479 12.981 -26.762 c
-14.31 -27.933 23.356 -23.689 22.629 -14.042 c
+14.31 -27.933 23.356 -23.69 22.629 -14.042 c
21.27 4.006 1.142 2.02 0 0 c
0 7.87 l
15.462 7.87 27.999 -4.667 27.999 -20.129 c
@@ -3074,12 +3073,12 @@ q 1 0 0 1 334.002 311.4072 cm
0 0 l
f
Q
-0.612 0.196 0.196 scn
+0.286 0.482 0.133 scn
q 1 0 0 1 334.002 312.3325 cm
0 0 m
-0.223 -0.377 -0.896 -0.494 -1.279 -0.706 c
-3.984 -2.198 -4.352 -2.882 -7.218 -8.204 c
--10.977 -15.407 l
+-10.978 -15.407 l
-12.034 -17.649 -12.409 -19.973 -12.123 -22.511 c
-11.368 -29.203 -4.44 -35.038 3.702 -32.832 c
16.504 -28.455 l
@@ -3094,7 +3093,7 @@ q 1 0 0 1 334.002 312.3325 cm
0 0 l
f
Q
-0.596 0.192 0.192 scn
+0.278 0.471 0.129 scn
q 1 0 0 1 334.002 313.1323 cm
0 0 m
-0.174 -0.267 -0.682 -0.3 -0.974 -0.428 c
@@ -3111,14 +3110,14 @@ q 1 0 0 1 334.002 313.1323 cm
0 0 l
f
Q
-0.58 0.188 0.188 scn
+0.275 0.459 0.125 scn
q 1 0 0 1 334.002 313.833 cm
0 0 m
-0.26 -0.393 -1.01 -0.429 -1.443 -0.612 c
-4.281 -1.817 -7.531 -4.969 -9.346 -8.278 c
-13.499 -15.849 -13.757 -21.087 -13.243 -24.146 c
-12.334 -29.559 -7.254 -38.113 6.021 -35.853 c
-29.653 -31.827 27.567 -10.229 15.691 -2.188 c
+29.652 -31.827 27.567 -10.229 15.691 -2.188 c
7.725 3.206 0.039 0.058 0 0 c
0 5.444 l
15.462 5.444 27.999 -7.093 27.999 -22.555 c
@@ -3128,7 +3127,7 @@ q 1 0 0 1 334.002 313.833 cm
0 0 l
f
Q
-0.569 0.18 0.18 scn
+0.267 0.447 0.122 scn
q 1 0 0 1 334.002 314.499 cm
0 0 m
-0.27 -0.397 -1.042 -0.411 -1.488 -0.586 c
@@ -3145,7 +3144,7 @@ q 1 0 0 1 334.002 314.499 cm
0 0 l
f
Q
-0.553 0.176 0.176 scn
+0.259 0.439 0.118 scn
q 1 0 0 1 334.002 315.1099 cm
0 0 m
-0.285 -0.403 -1.085 -0.384 -1.55 -0.549 c
@@ -3162,14 +3161,14 @@ q 1 0 0 1 334.002 315.1099 cm
0 0 l
f
Q
-0.541 0.173 0.173 scn
+0.255 0.427 0.118 scn
q 1 0 0 1 334.002 315.6826 cm
0 0 m
-0.294 -0.407 -1.113 -0.365 -1.59 -0.521 c
-3.037 -0.996 -8.057 -3.068 -11.887 -9.807 c
-12.95 -11.677 -16.306 -18.383 -14.886 -26.191 c
-13.691 -32.763 -6.811 -41.823 7.247 -39.848 c
-28.689 -36.835 31.471 -13.847 16.374 -3.144 c
+28.69 -36.835 31.472 -13.848 16.374 -3.144 c
8.08 2.736 0.041 0.056 0 0 c
0 3.595 l
15.462 3.595 27.999 -8.942 27.999 -24.404 c
@@ -3179,7 +3178,7 @@ q 1 0 0 1 334.002 315.6826 cm
0 0 l
f
Q
-0.525 0.169 0.169 scn
+0.247 0.416 0.114 scn
q 1 0 0 1 334.002 316.2197 cm
0 0 m
-0.327 -0.44 -1.224 -0.37 -1.749 -0.528 c
@@ -3196,7 +3195,7 @@ q 1 0 0 1 334.002 316.2197 cm
0 0 l
f
Q
-0.51 0.165 0.165 scn
+0.239 0.404 0.11 scn
q 1 0 0 1 334.002 316.7344 cm
0 0 m
-0.315 -0.413 -1.169 -0.321 -1.671 -0.458 c
@@ -3213,7 +3212,7 @@ q 1 0 0 1 334.002 316.7344 cm
0 0 l
f
Q
-0.498 0.161 0.161 scn
+0.235 0.392 0.106 scn
q 1 0 0 1 334.002 317.207 cm
0 0 m
-0.326 -0.417 -1.197 -0.297 -1.71 -0.424 c
@@ -3230,14 +3229,14 @@ q 1 0 0 1 334.002 317.207 cm
0 0 l
f
Q
-0.482 0.153 0.153 scn
+0.227 0.38 0.106 scn
q 1 0 0 1 334.002 317.647 cm
0 0 m
--0.165 -0.201 -0.596 -0.119 -0.851 -0.169 c
+-0.165 -0.201 -0.596 -0.119 -0.852 -0.169 c
-6.63 -1.321 -11.086 -5.48 -13.33 -8.99 c
-17.824 -16.019 -17.96 -22.681 -17.283 -27.032 c
--15.527 -38.307 -5.35 -45.631 6.918 -44.447 c
-29.057 -42.308 33.215 -18.565 18.588 -5.674 c
+-15.528 -38.307 -5.35 -45.631 6.918 -44.447 c
+29.057 -42.308 33.214 -18.565 18.588 -5.674 c
9.722 2.142 0.051 0.062 0 0 c
0 1.63 l
15.462 1.63 27.999 -10.907 27.999 -26.369 c
@@ -3247,7 +3246,7 @@ q 1 0 0 1 334.002 317.647 cm
0 0 l
f
Q
-0.467 0.149 0.149 scn
+0.22 0.369 0.102 scn
q 1 0 0 1 334.002 318.0581 cm
0 0 m
-0.345 -0.419 -1.243 -0.245 -1.775 -0.35 c
@@ -3264,7 +3263,7 @@ q 1 0 0 1 334.002 318.0581 cm
0 0 l
f
Q
-0.455 0.145 0.145 scn
+0.212 0.361 0.098 scn
q 1 0 0 1 334.002 318.4131 cm
0 0 m
-0.359 -0.424 -1.279 -0.213 -1.827 -0.305 c
@@ -3281,7 +3280,7 @@ q 1 0 0 1 334.002 318.4131 cm
0 0 l
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 334.002 318.7388 cm
0 0 m
-0.366 -0.422 -1.29 -0.183 -1.842 -0.262 c
@@ -3296,7 +3295,7 @@ q 1 0 0 1 334.002 318.7388 cm
0 0 l
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 334.002 318.9941 cm
0 0 m
-0.38 -0.425 -1.322 -0.147 -1.889 -0.211 c
@@ -3311,7 +3310,7 @@ q 1 0 0 1 334.002 318.9941 cm
0 0 l
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 334.002 319.1851 cm
0 0 m
-0.389 -0.421 -1.333 -0.109 -1.905 -0.156 c
@@ -3326,7 +3325,7 @@ q 1 0 0 1 334.002 319.1851 cm
0 0 l
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 334.002 319.2739 cm
0 0 m
-0.403 -0.423 -1.362 -0.067 -1.945 -0.096 c
@@ -3340,19 +3339,18 @@ q 1 0 0 1 334.002 319.2739 cm
0 0 l
f
Q
-0.384 0.122 0.122 scn
+0.18 0.302 0.082 scn
q 1 0 0 1 329.771 318.957 cm
0 0 m
--22.131 -3.785 -23.922 -33.441 -7.507 -45.461 c
-5.397 -54.909 25.482 -52.656 31.069 -35.688 c
+-22.534 -4.552 -23.533 -35.028 -6.33 -46.26 c
+6.848 -54.863 25.642 -52.17 31.069 -35.688 c
27.625 -47.252 16.911 -55.678 4.231 -55.678 c
-11.231 -55.678 -23.768 -43.149 -23.768 -27.679 c
-23.768 -13.386 -13.055 -1.592 0.778 0.109 c
-0.778 0.109 l
-0.545 0.077 0.232 0.04 0 0 c
+0.544 0.077 0.232 0.04 0 0 c
f
Q
-0.369 0.118 0.118 scn
+0.173 0.29 0.078 scn
q 1 0 0 1 321.978 316.4971 cm
0 0 m
-16.565 -9.063 -17.347 -40.195 9.314 -48.713 c
@@ -3364,21 +3362,21 @@ q 1 0 0 1 321.978 316.4971 cm
1.31 0.61 0.543 0.297 0 0 c
f
Q
-0.667 0.216 0.216 scn
-q 1 0 0 1 349.9287 293.1025 cm
+0.314 0.525 0.145 scn
+q 1 0 0 1 349.9282 293.1025 cm
0 0 m
--1.706 2.422 -2.872 5.191 -4.807 7.466 c
--5.581 8.375 -6.334 9.14 -7.046 9.739 c
--7.103 9.787 -12.7 14.576 -12.706 14.928 c
--12.708 15.034 -10.926 16.753 -10.74 16.824 c
--10.059 17.085 -7.544 17.231 -6.876 17.165 c
--5.112 16.991 -2.439 16.24 0.274 13.649 c
+-1.706 2.422 -2.871 5.191 -4.806 7.466 c
+-5.58 8.375 -6.333 9.14 -7.046 9.739 c
+-7.103 9.787 -12.7 14.578 -12.706 14.928 c
+-12.708 15.034 -10.925 16.753 -10.74 16.824 c
+-10.058 17.085 -7.544 17.231 -6.875 17.165 c
+-5.111 16.991 -2.438 16.24 0.275 13.649 c
3.79 10.292 4.269 6.381 4.332 5.263 c
-4.607 0.361 1.816 -1.553 1.124 -1.426 c
-0.588 -1.328 0.313 -0.446 0 0 c
+4.608 0.361 1.816 -1.553 1.125 -1.426 c
+0.589 -1.328 0.314 -0.446 0 0 c
f
Q
-0.682 0.22 0.22 scn
+0.322 0.537 0.145 scn
q 1 0 0 1 350.0625 295.5957 cm
0 0 m
-1.97 2.883 -3.056 4.472 -4.87 6.595 c
@@ -3386,29 +3384,29 @@ q 1 0 0 1 350.0625 295.5957 cm
-5.844 7.601 -6.16 7.969 -6.419 8.224 c
-6.913 8.711 -7.551 9.382 -8.074 9.839 c
-9.724 11.281 -9.908 11.547 -9.911 11.595 c
--9.914 11.657 -8.495 13.252 -8.295 13.411 c
--8.132 13.541 -7.808 13.456 -7.601 13.433 c
--5.32 13.184 -2.962 12.927 -0.476 10.566 c
-2.531 7.709 2.783 5.143 2.904 3.91 c
+-9.914 11.655 -8.389 13.369 -8.295 13.411 c
+-7.711 13.674 -6.801 13.346 -6.164 13.276 c
+-2.962 12.927 -1.156 11.212 -0.476 10.566 c
+2.531 7.709 2.783 5.143 2.904 3.909 c
2.938 3.565 2.929 0.875 2.709 0.41 c
2.675 0.337 0.707 -0.874 0.645 -0.861 c
0.33 -0.793 0.182 -0.267 0 0 c
f
Q
-0.694 0.224 0.224 scn
-q 1 0 0 1 349.147 299.125 cm
+0.325 0.549 0.149 scn
+q 1 0 0 1 349.1475 299.125 cm
0 0 m
--0.736 0.236 -1.075 1.45 -1.575 2.04 c
--3.148 3.894 -3.148 3.894 -3.896 4.678 c
--4.212 5.008 -4.839 5.354 -4.922 5.803 c
+-0.737 0.235 -1.076 1.45 -1.576 2.04 c
+-3.148 3.894 -3.148 3.894 -3.897 4.678 c
+-4.212 5.008 -4.84 5.354 -4.922 5.803 c
-4.014 7.981 l
--3.952 8.007 -1.426 7.15 0.33 5.083 c
-1.632 3.552 2.398 0.755 2.281 0.574 c
-1.906 -0.01 0.7 -0.197 0.037 0.011 c
+-3.953 8.007 -1.427 7.15 0.33 5.083 c
+1.631 3.552 2.397 0.755 2.281 0.574 c
+1.906 -0.01 0.699 -0.197 0.037 0.011 c
0.026 0.014 0.011 -0.003 0 0 c
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 346.0513 316.5498 cm
0 0 m
-5.275 2.417 -9.403 2.407 -12.049 2.189 c
@@ -3418,7 +3416,7 @@ q 1 0 0 1 346.0513 316.5498 cm
0.673 -0.334 0.292 -0.134 0 0 c
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 342.2651 318.0342 cm
0 0 m
-3.078 0.794 -4.478 1.111 -8.263 0.96 c
@@ -3427,7 +3425,7 @@ q 1 0 0 1 342.2651 318.0342 cm
0.981 -0.329 0.425 -0.126 0 0 c
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 338.2329 318.957 cm
0 0 m
-2.557 0.263 -2.657 0.273 -4.231 0.228 c
@@ -3436,14 +3434,14 @@ q 1 0 0 1 338.2329 318.957 cm
0.724 -0.122 0.312 -0.042 0 0 c
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 334.002 319.2739 cm
0 0 m
0.335 0.003 0.669 -0.002 1.001 -0.014 c
0.701 -0.01 0.211 -0.214 0 0 c
f
Q
- endstream endobj 907 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 895 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 899 0 obj <</Subtype/Form/Length 481/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 896 0 R/Resources<</XObject<</Fm0 898 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[180.624 223.274 192.621 211.277]>>stream
+ endstream endobj 1000 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 988 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 992 0 obj <</Subtype/Form/Length 481/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 989 0 R/Resources<</XObject<</Fm0 991 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[180.624 223.274 192.621 211.277]>>stream
q
186.627 218.274 m
186.627 223.274 l
@@ -3462,8 +3460,8 @@ q
/Fm0 Do
Q
Q
- endstream endobj 896 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 898 0 obj <</Subtype/Form/Length 11026/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 897 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[180.624 223.274 192.621 211.277]>>stream
-/CS0 cs 0.624 0.2 0.2 scn
+ endstream endobj 989 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 991 0 obj <</Subtype/Form/Length 11020/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 990 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[180.624 223.274 192.621 211.277]>>stream
+/CS0 cs 0.294 0.494 0.133 scn
1 i
/GS0 gs
q 1 0 0 1 186.627 218.2744 cm
@@ -3505,14 +3503,14 @@ q 1 0 0 1 186.627 219.1992 cm
0 0 l
f
Q
-0.612 0.196 0.196 scn
+0.286 0.482 0.133 scn
q 1 0 0 1 186.627 219.3418 cm
0 0 m
-0.03 -0.093 -0.164 -0.171 -0.185 -0.266 c
-0.222 -0.434 -0.125 -0.678 -0.187 -0.838 c
-0.188 -0.839 -0.237 -0.941 -0.403 -1.05 c
-1.157 -1.54 -1.045 -2.159 -0.993 -2.338 c
--0.813 -2.951 -0.139 -3.261 0.448 -2.999 c
+-0.812 -2.951 -0.139 -3.261 0.448 -2.999 c
0.646 -2.911 0.784 -2.775 0.866 -2.694 c
1.137 -2.427 1.542 -2.629 1.829 -2.42 c
2.42 -1.988 2.555 -1.604 2.619 -1.418 c
@@ -3526,7 +3524,7 @@ q 1 0 0 1 186.627 219.3418 cm
0 0 l
f
Q
-0.596 0.192 0.192 scn
+0.278 0.471 0.129 scn
q 1 0 0 1 186.627 219.4824 cm
0 0 m
-0.295 -0.834 -1.295 -1.352 -1.079 -2.413 c
@@ -3542,7 +3540,7 @@ q 1 0 0 1 186.627 219.4824 cm
0 0 l
f
Q
-0.58 0.188 0.188 scn
+0.275 0.459 0.125 scn
q 1 0 0 1 186.627 219.6211 cm
0 0 m
-0.353 -0.868 -1.382 -1.434 -1.146 -2.564 c
@@ -3558,7 +3556,7 @@ q 1 0 0 1 186.627 219.6211 cm
0 0 l
f
Q
-0.569 0.18 0.18 scn
+0.267 0.447 0.122 scn
q 1 0 0 1 186.627 219.7588 cm
0 0 m
-0.193 -0.418 -0.584 -0.692 -0.794 -1.099 c
@@ -3575,7 +3573,7 @@ q 1 0 0 1 186.627 219.7588 cm
0 0 l
f
Q
-0.553 0.176 0.176 scn
+0.259 0.439 0.118 scn
q 1 0 0 1 186.627 219.9111 cm
0 0 m
-0.013 -0.025 -0.053 -0.04 -0.076 -0.058 c
@@ -3592,7 +3590,7 @@ q 1 0 0 1 186.627 219.9111 cm
0 0 l
f
Q
-0.541 0.173 0.173 scn
+0.255 0.427 0.118 scn
q 1 0 0 1 186.627 220.1025 cm
0 0 m
-0.034 -0.067 -0.142 -0.105 -0.203 -0.15 c
@@ -3609,7 +3607,7 @@ q 1 0 0 1 186.627 220.1025 cm
0 0 l
f
Q
-0.525 0.169 0.169 scn
+0.247 0.416 0.114 scn
q 1 0 0 1 186.627 220.291 cm
0 0 m
-0.037 -0.07 -0.152 -0.104 -0.217 -0.148 c
@@ -3626,7 +3624,7 @@ q 1 0 0 1 186.627 220.291 cm
0 0 l
f
Q
-0.51 0.165 0.165 scn
+0.239 0.404 0.11 scn
q 1 0 0 1 186.627 220.4746 cm
0 0 m
-0.175 -0.316 -0.542 -0.436 -0.748 -0.721 c
@@ -3643,7 +3641,7 @@ q 1 0 0 1 186.627 220.4746 cm
0 0 l
f
Q
-0.498 0.161 0.161 scn
+0.235 0.392 0.106 scn
q 1 0 0 1 186.627 220.7061 cm
0 0 m
-0.06 -0.132 -0.265 -0.211 -0.386 -0.291 c
@@ -3660,11 +3658,11 @@ q 1 0 0 1 186.627 220.7061 cm
0 0 l
f
Q
-0.482 0.153 0.153 scn
+0.227 0.38 0.106 scn
q 1 0 0 1 186.627 220.9883 cm
0 0 m
-0.04 -0.083 -0.167 -0.135 -0.239 -0.193 c
--0.735 -0.594 -1.129 -1.171 -1.41 -1.909 c
+-0.735 -0.593 -1.129 -1.17 -1.41 -1.909 c
-1.685 -2.632 -1.76 -3.635 -1.577 -4.146 c
-0.866 -6.126 1.876 -5.311 1.903 -5.301 c
5.874 -3.976 5.345 -0.496 3.416 0.521 c
@@ -3677,7 +3675,7 @@ q 1 0 0 1 186.627 220.9883 cm
0 0 l
f
Q
-0.467 0.149 0.149 scn
+0.22 0.369 0.102 scn
q 1 0 0 1 186.627 221.2744 cm
0 0 m
-0.045 -0.106 -0.21 -0.167 -0.303 -0.236 c
@@ -3694,7 +3692,7 @@ q 1 0 0 1 186.627 221.2744 cm
0 0 l
f
Q
-0.455 0.145 0.145 scn
+0.212 0.361 0.098 scn
q 1 0 0 1 186.627 221.6582 cm
0 0 m
-0.163 -0.362 -0.542 -0.515 -0.779 -0.805 c
@@ -3712,7 +3710,7 @@ q 1 0 0 1 186.627 221.6582 cm
0 0 l
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 186.627 222.082 cm
0 0 m
-0.128 -0.296 -0.442 -0.404 -0.638 -0.631 c
@@ -3720,7 +3718,7 @@ q 1 0 0 1 186.627 222.082 cm
-1.147 -1.346 -1.619 -2.354 -1.622 -2.361 c
-2.173 -3.904 -2.042 -4.642 -1.843 -5.159 c
-0.967 -7.426 1.647 -7.027 2.581 -6.683 c
-3.886 -6.201 6.602 -5.199 5.542 -2.518 c
+3.886 -6.201 6.602 -5.198 5.542 -2.518 c
5.833 -3.224 5.994 -3.998 5.994 -4.811 c
5.994 -8.123 3.312 -10.805 0 -10.805 c
-3.312 -10.805 -6.003 -8.123 -6.003 -4.811 c
@@ -3728,7 +3726,7 @@ q 1 0 0 1 186.627 222.082 cm
0 0 l
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 186.627 222.5469 cm
0 0 m
-0.037 -0.078 -0.154 -0.129 -0.22 -0.185 c
@@ -3743,7 +3741,7 @@ q 1 0 0 1 186.627 222.5469 cm
0 0 l
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 186.627 222.9893 cm
0 0 m
-0.038 -0.066 -0.155 -0.09 -0.221 -0.129 c
@@ -3758,21 +3756,21 @@ q 1 0 0 1 186.627 222.9893 cm
0 0 l
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 186.627 223.2627 cm
0 0 m
-0.043 -0.052 -0.154 -0.029 -0.221 -0.042 c
-0.696 -0.133 -1.347 -0.689 -1.732 -1.731 c
-2.576 -4.018 -2.459 -5.555 -2.314 -6.268 c
-1.868 -8.458 0.839 -8.7 1.752 -8.612 c
-4.208 -8.376 5.691 -8.233 5.942 -6.786 c
+4.209 -8.376 5.692 -8.233 5.942 -6.786 c
5.553 -9.723 3.042 -11.985 0 -11.985 c
-3.312 -11.985 -6.003 -9.304 -6.003 -5.991 c
-6.003 -2.67 -3.312 0.012 0 0.012 c
0 0 l
f
Q
-0.384 0.122 0.122 scn
+0.18 0.302 0.082 scn
q 1 0 0 1 185.7217 223.1973 cm
0 0 m
-1.735 -0.588 -1.748 -4.507 -1.748 -4.547 c
@@ -3784,7 +3782,7 @@ q 1 0 0 1 185.7217 223.1973 cm
0.115 0.022 0.049 0.014 0 0 c
f
Q
-0.369 0.118 0.118 scn
+0.173 0.29 0.078 scn
q 1 0 0 1 184.3926 222.7744 cm
0 0 m
-1.065 -0.939 -0.813 -4.875 -0.541 -5.608 c
@@ -3798,10 +3796,10 @@ q 1 0 0 1 184.3926 222.7744 cm
0.161 0.103 0.062 0.054 0 0 c
f
Q
-0.639 0.204 0.204 scn
+0.302 0.506 0.137 scn
q 1 0 0 1 188.1982 217.4531 cm
0 0 m
--0.089 0.065 -0.089 0.065 -0.518 0.595 c
+-0.089 0.064 -0.089 0.064 -0.518 0.595 c
-0.66 0.77 -0.832 0.916 -0.969 1.096 c
-1.153 1.336 -1.228 1.588 -1.225 1.6 c
-1.219 1.619 -0.023 2.449 0.592 1.369 c
@@ -3809,7 +3807,7 @@ q 1 0 0 1 188.1982 217.4531 cm
0.153 -0.145 0.065 -0.047 0 0 c
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 189.1953 222.666 cm
0 0 m
-1.292 0.462 -2.253 -0.325 -2.568 -0.584 c
@@ -3819,7 +3817,7 @@ q 1 0 0 1 189.1953 222.666 cm
0.215 -0.093 0.095 -0.034 0 0 c
f
Q
-0.655 0.208 0.208 scn
+0.306 0.518 0.141 scn
q 1 0 0 1 188.2393 217.709 cm
0 0 m
-0.336 0.357 l
@@ -3830,7 +3828,7 @@ q 1 0 0 1 188.2393 217.709 cm
0.105 -0.132 0.047 -0.039 0 0 c
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 188.3931 222.9971 cm
0 0 m
-0.649 0.121 -1.161 -0.01 -1.766 -0.45 c
@@ -3840,7 +3838,7 @@ q 1 0 0 1 188.3931 222.9971 cm
0.019 -0.004 0.008 -0.001 0 0 c
f
Q
-0.667 0.216 0.216 scn
+0.314 0.525 0.145 scn
q 1 0 0 1 188.2437 217.9775 cm
0 0 m
-0.004 0.005 -0.532 0.572 -0.709 0.863 c
@@ -3851,7 +3849,7 @@ q 1 0 0 1 188.2437 217.9775 cm
0.049 -0.041 0.02 -0.02 0 0 c
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 187.5317 223.1973 cm
0 0 m
-0.313 -0.006 -0.486 -0.009 -0.905 -0.208 c
@@ -3860,7 +3858,7 @@ q 1 0 0 1 187.5317 223.1973 cm
0.157 -0.021 0.068 -0.004 0 0 c
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 186.627 223.2627 cm
0 0 m
0 0.012 l
@@ -3868,7 +3866,7 @@ q 1 0 0 1 186.627 223.2627 cm
0.15 0.006 0.046 -0.045 0 0 c
f
Q
- endstream endobj 897 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 886 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 892 0 obj <</Subtype/Form/Length 450/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 887 0 R/Resources<</XObject<</Fm0 891 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[155.001 324.272 210.999 268.274]>>stream
+ endstream endobj 990 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 979 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 985 0 obj <</Subtype/Form/Length 450/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 980 0 R/Resources<</XObject<</Fm0 984 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[155.001 324.272 210.999 268.274]>>stream
q
183 308.272 m
183 324.272 l
@@ -3887,8 +3885,8 @@ q
/Fm0 Do
Q
Q
- endstream endobj 887 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 891 0 obj <</Subtype/Form/Length 13396/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 888 0 R/Resources<</ColorSpace<</CS0 889 0 R>>/ExtGState<</GS0 885 0 R>>>>/BBox[155.001 324.272 210.999 268.274]>>stream
-/CS0 cs 0.655 0.208 0.208 scn
+ endstream endobj 980 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 984 0 obj <</Subtype/Form/Length 13394/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Group 981 0 R/Resources<</ColorSpace<</CS0 982 0 R>>/ExtGState<</GS0 978 0 R>>>>/BBox[155.001 324.272 210.999 268.274]>>stream
+/CS0 cs 0.306 0.518 0.141 scn
1 i
/GS0 gs
q 1 0 0 1 183 308.2725 cm
@@ -3914,7 +3912,7 @@ q 1 0 0 1 183 313.436 cm
6.607 -29.172 12.01 -23.77 11.999 -17.163 c
12.01 -10.555 6.607 -5.153 0 -5.164 c
0 -0.468 l
-0.316 -0.694 0.738 -0.996 1.055 -1.223 c
+0.316 -0.694 0.738 -0.997 1.055 -1.223 c
3.817 -3.661 7.459 -4.869 10 -7.617 c
12.018 -9.8 13.458 -12.461 14.279 -15.528 c
15.091 -18.562 16.901 -19.343 16.918 -19.345 c
@@ -3928,7 +3926,7 @@ q 1 0 0 1 183 313.436 cm
0 0 l
f
Q
-0.639 0.204 0.204 scn
+0.302 0.506 0.137 scn
q 1 0 0 1 183 315.2832 cm
0 0 m
-0.296 -0.712 -1.487 -1.168 -1.735 -1.898 c
@@ -3941,7 +3939,7 @@ q 1 0 0 1 183 315.2832 cm
12.01 -12.402 6.607 -7 0 -7.011 c
0 -5.167 l
0.338 -5.201 0.788 -5.245 1.126 -5.278 c
-2.249 -5.476 12.141 -7.556 13.761 -19.537 c
+2.249 -5.476 12.142 -7.556 13.761 -19.537 c
14.172 -22.51 l
14.637 -23.085 15.725 -23.501 16.46 -23.424 c
20.584 -22.987 26.414 -9.567 15.896 -1.312 c
@@ -3954,7 +3952,7 @@ q 1 0 0 1 183 315.2832 cm
0 0 l
f
Q
-0.624 0.2 0.2 scn
+0.294 0.494 0.133 scn
q 1 0 0 1 183 316.4023 cm
0 0 m
-0.627 -1.109 -1.866 -1.525 -2.708 -2.391 c
@@ -3969,8 +3967,8 @@ q 1 0 0 1 183 316.4023 cm
0.312 -7.428 0.727 -7.455 1.039 -7.475 c
5.586 -8.118 13.155 -12.017 12.674 -22.548 c
12.56 -25.061 12.663 -26.477 12.982 -26.758 c
-14.31 -27.928 23.355 -23.683 22.629 -14.042 c
-21.27 4.006 1.142 2.02 0 0 c
+14.311 -27.929 23.356 -23.684 22.629 -14.042 c
+21.269 4.004 1.142 2.019 0 0 c
0 7.87 l
15.462 7.87 27.999 -4.667 27.999 -20.129 c
27.999 -35.591 15.462 -48.128 0 -48.128 c
@@ -3979,7 +3977,7 @@ q 1 0 0 1 183 316.4023 cm
0 0 l
f
Q
-0.612 0.196 0.196 scn
+0.286 0.482 0.133 scn
q 1 0 0 1 183 317.3276 cm
0 0 m
-0.223 -0.377 -0.896 -0.494 -1.279 -0.706 c
@@ -3989,7 +3987,7 @@ q 1 0 0 1 183 317.3276 cm
-11.368 -29.204 -4.441 -35.04 3.701 -32.832 c
16.504 -28.451 l
19.64 -26.383 21.524 -23.889 22.614 -20.364 c
-24.61 -13.908 21.812 -4.741 13.674 -0.575 c
+24.61 -13.908 21.812 -4.74 13.674 -0.575 c
6.26 3.219 0.029 0.049 0 0 c
0 6.945 l
15.462 6.945 27.999 -5.592 27.999 -21.054 c
@@ -3999,14 +3997,14 @@ q 1 0 0 1 183 317.3276 cm
0 0 l
f
Q
-0.596 0.192 0.192 scn
+0.278 0.471 0.129 scn
q 1 0 0 1 183 318.1274 cm
0 0 m
-0.174 -0.267 -0.682 -0.3 -0.974 -0.428 c
-3.27 -1.438 -6.363 -4.313 -7.593 -6.58 c
-13.39 -17.262 -13 -20.653 -12.686 -23.377 c
-12.045 -28.943 -6.307 -36.332 3.975 -34.516 c
-34.373 -29.149 23.201 -7.033 15.417 -1.844 c
+34.372 -29.149 23.201 -7.033 15.417 -1.844 c
7.621 3.352 0.038 0.059 0 0 c
0 6.145 l
15.462 6.145 27.999 -6.392 27.999 -21.854 c
@@ -4016,7 +4014,7 @@ q 1 0 0 1 183 318.1274 cm
0 0 l
f
Q
-0.58 0.188 0.188 scn
+0.275 0.459 0.125 scn
q 1 0 0 1 183 318.8281 cm
0 0 m
-0.26 -0.393 -1.01 -0.429 -1.443 -0.612 c
@@ -4033,7 +4031,7 @@ q 1 0 0 1 183 318.8281 cm
0 0 l
f
Q
-0.569 0.18 0.18 scn
+0.267 0.447 0.122 scn
q 1 0 0 1 183 319.4941 cm
0 0 m
-0.27 -0.397 -1.042 -0.411 -1.488 -0.586 c
@@ -4050,14 +4048,14 @@ q 1 0 0 1 183 319.4941 cm
0 0 l
f
Q
-0.553 0.176 0.176 scn
+0.259 0.439 0.118 scn
q 1 0 0 1 183 320.105 cm
0 0 m
-0.285 -0.403 -1.085 -0.384 -1.55 -0.549 c
-2.14 -0.758 -7.426 -2.783 -11.14 -9.4 c
-12.536 -11.888 -15.643 -18.441 -14.343 -25.552 c
-13.349 -30.994 -7.597 -40.716 7.05 -38.567 c
-28.063 -35.482 30.901 -13.127 16.17 -2.838 c
+28.064 -35.482 30.902 -13.127 16.17 -2.838 c
7.979 2.883 0.04 0.057 0 0 c
0 4.167 l
15.462 4.167 27.999 -8.37 27.999 -23.832 c
@@ -4067,7 +4065,7 @@ q 1 0 0 1 183 320.105 cm
0 0 l
f
Q
-0.541 0.173 0.173 scn
+0.255 0.427 0.118 scn
q 1 0 0 1 183 320.6777 cm
0 0 m
-0.294 -0.407 -1.113 -0.365 -1.59 -0.521 c
@@ -4084,7 +4082,7 @@ q 1 0 0 1 183 320.6777 cm
0 0 l
f
Q
-0.525 0.169 0.169 scn
+0.247 0.416 0.114 scn
q 1 0 0 1 183 321.2148 cm
0 0 m
-0.327 -0.44 -1.224 -0.37 -1.749 -0.528 c
@@ -4101,7 +4099,7 @@ q 1 0 0 1 183 321.2148 cm
0 0 l
f
Q
-0.51 0.165 0.165 scn
+0.239 0.404 0.11 scn
q 1 0 0 1 183 321.7295 cm
0 0 m
-0.315 -0.413 -1.169 -0.321 -1.671 -0.458 c
@@ -4118,7 +4116,7 @@ q 1 0 0 1 183 321.7295 cm
0 0 l
f
Q
-0.498 0.161 0.161 scn
+0.235 0.392 0.106 scn
q 1 0 0 1 183 322.2021 cm
0 0 m
-0.326 -0.417 -1.197 -0.297 -1.71 -0.424 c
@@ -4135,7 +4133,7 @@ q 1 0 0 1 183 322.2021 cm
0 0 l
f
Q
-0.482 0.153 0.153 scn
+0.227 0.38 0.106 scn
q 1 0 0 1 183 322.6421 cm
0 0 m
-0.165 -0.201 -0.596 -0.119 -0.851 -0.169 c
@@ -4152,7 +4150,7 @@ q 1 0 0 1 183 322.6421 cm
0 0 l
f
Q
-0.467 0.149 0.149 scn
+0.22 0.369 0.102 scn
q 1 0 0 1 183 323.0532 cm
0 0 m
-0.345 -0.419 -1.243 -0.245 -1.775 -0.35 c
@@ -4169,7 +4167,7 @@ q 1 0 0 1 183 323.0532 cm
0 0 l
f
Q
-0.455 0.145 0.145 scn
+0.212 0.361 0.098 scn
q 1 0 0 1 183 323.4082 cm
0 0 m
-0.359 -0.424 -1.279 -0.213 -1.827 -0.305 c
@@ -4186,7 +4184,7 @@ q 1 0 0 1 183 323.4082 cm
0 0 l
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 183 323.7339 cm
0 0 m
-0.366 -0.422 -1.29 -0.183 -1.842 -0.262 c
@@ -4201,7 +4199,7 @@ q 1 0 0 1 183 323.7339 cm
0 0 l
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 183 323.9893 cm
0 0 m
-0.38 -0.425 -1.322 -0.147 -1.889 -0.211 c
@@ -4216,7 +4214,7 @@ q 1 0 0 1 183 323.9893 cm
0 0 l
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 183 324.1802 cm
0 0 m
-0.389 -0.421 -1.333 -0.109 -1.905 -0.156 c
@@ -4231,7 +4229,7 @@ q 1 0 0 1 183 324.1802 cm
0 0 l
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 183 324.269 cm
0 0 m
-0.403 -0.423 -1.362 -0.067 -1.945 -0.096 c
@@ -4245,18 +4243,18 @@ q 1 0 0 1 183 324.269 cm
0 0 l
f
Q
-0.384 0.122 0.122 scn
+0.18 0.302 0.082 scn
q 1 0 0 1 178.769 323.9521 cm
0 0 m
--22.528 -4.551 -23.527 -35.025 -6.329 -46.258 c
-6.847 -54.863 25.641 -52.169 31.069 -35.683 c
+-22.529 -4.551 -23.528 -35.026 -6.329 -46.258 c
+6.848 -54.862 25.641 -52.169 31.069 -35.683 c
27.625 -47.245 16.912 -55.678 4.231 -55.678 c
-11.231 -55.678 -23.768 -43.141 -23.768 -27.679 c
-23.768 -13.386 -13.055 -1.592 0.778 0.109 c
0.544 0.077 0.232 0.04 0 0 c
f
Q
-0.369 0.118 0.118 scn
+0.173 0.29 0.078 scn
q 1 0 0 1 170.9761 321.4922 cm
0 0 m
-16.563 -9.063 -17.344 -40.194 9.316 -48.713 c
@@ -4268,51 +4266,51 @@ q 1 0 0 1 170.9761 321.4922 cm
1.31 0.61 0.543 0.297 0 0 c
f
Q
-0.667 0.216 0.216 scn
+0.314 0.525 0.145 scn
q 1 0 0 1 198.9263 298.0972 cm
0 0 m
-1.706 2.422 -2.871 5.192 -4.806 7.466 c
--5.581 8.375 -6.334 9.141 -7.046 9.74 c
--7.103 9.788 -12.699 14.577 -12.706 14.929 c
+-5.58 8.375 -6.333 9.14 -7.046 9.74 c
+-7.103 9.788 -12.7 14.579 -12.706 14.929 c
-12.708 15.035 -10.925 16.753 -10.74 16.825 c
-10.058 17.086 -7.544 17.231 -6.875 17.166 c
-5.111 16.992 -2.438 16.241 0.275 13.649 c
3.79 10.293 4.269 6.382 4.332 5.263 c
-4.608 0.362 1.816 -1.552 1.125 -1.426 c
+4.608 0.362 1.816 -1.553 1.125 -1.426 c
0.589 -1.328 0.314 -0.445 0 0 c
f
Q
-0.682 0.22 0.22 scn
+0.322 0.537 0.145 scn
q 1 0 0 1 199.0605 300.5908 cm
0 0 m
--1.971 2.884 -3.056 4.472 -4.87 6.595 c
+-1.97 2.883 -3.055 4.471 -4.87 6.595 c
-5.072 6.832 -5.375 7.116 -5.591 7.34 c
-5.844 7.601 -6.16 7.969 -6.419 8.224 c
-6.913 8.711 -7.551 9.382 -8.074 9.839 c
-9.724 11.281 -9.908 11.547 -9.911 11.595 c
--9.914 11.657 -8.495 13.252 -8.295 13.411 c
--8.132 13.541 -7.808 13.456 -7.601 13.433 c
--5.32 13.184 -2.962 12.927 -0.476 10.566 c
-2.531 7.709 2.783 5.143 2.904 3.91 c
+-9.914 11.655 -8.389 13.369 -8.295 13.411 c
+-7.711 13.674 -6.801 13.346 -6.164 13.276 c
+-2.962 12.927 -1.156 11.212 -0.476 10.566 c
+2.531 7.709 2.783 5.143 2.904 3.909 c
2.938 3.565 2.929 0.875 2.709 0.41 c
2.675 0.337 0.707 -0.875 0.645 -0.861 c
0.33 -0.793 0.182 -0.267 0 0 c
f
Q
-0.694 0.224 0.224 scn
-q 1 0 0 1 198.145 304.1201 cm
+0.325 0.549 0.149 scn
+q 1 0 0 1 198.1455 304.1201 cm
0 0 m
--0.736 0.235 -1.075 1.45 -1.575 2.04 c
--3.148 3.894 -3.148 3.894 -3.896 4.678 c
--4.212 5.008 -4.839 5.354 -4.922 5.803 c
+-0.737 0.235 -1.076 1.45 -1.576 2.04 c
+-3.148 3.894 -3.148 3.894 -3.897 4.678 c
+-4.212 5.008 -4.84 5.354 -4.922 5.803 c
-4.014 7.981 l
--3.952 8.007 -1.426 7.15 0.33 5.083 c
-1.632 3.552 2.398 0.755 2.281 0.574 c
-1.906 -0.01 0.7 -0.197 0.037 0.011 c
+-3.953 8.007 -1.427 7.15 0.33 5.083 c
+1.631 3.552 2.397 0.755 2.281 0.574 c
+1.906 -0.01 0.699 -0.197 0.037 0.011 c
0.026 0.014 0.011 -0.003 0 0 c
f
Q
-0.439 0.141 0.141 scn
+0.208 0.349 0.094 scn
q 1 0 0 1 195.0493 321.5449 cm
0 0 m
-5.275 2.417 -9.403 2.407 -12.049 2.189 c
@@ -4322,7 +4320,7 @@ q 1 0 0 1 195.0493 321.5449 cm
0.673 -0.334 0.292 -0.134 0 0 c
f
Q
-0.427 0.137 0.137 scn
+0.2 0.337 0.09 scn
q 1 0 0 1 191.2632 323.0293 cm
0 0 m
-3.078 0.794 -4.478 1.111 -8.263 0.96 c
@@ -4331,7 +4329,7 @@ q 1 0 0 1 191.2632 323.0293 cm
0.981 -0.329 0.425 -0.126 0 0 c
f
Q
-0.412 0.133 0.133 scn
+0.192 0.325 0.09 scn
q 1 0 0 1 187.231 323.9521 cm
0 0 m
-2.557 0.263 -2.657 0.273 -4.231 0.228 c
@@ -4340,105 +4338,90 @@ q 1 0 0 1 187.231 323.9521 cm
0.724 -0.122 0.312 -0.042 0 0 c
f
Q
-0.396 0.125 0.125 scn
+0.188 0.314 0.086 scn
q 1 0 0 1 183 324.269 cm
0 0 m
0.335 0.003 0.669 -0.002 1.001 -0.014 c
0.701 -0.01 0.211 -0.214 0 0 c
f
Q
- endstream endobj 888 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 958 0 obj [/Indexed/DeviceRGB 255 959 0 R] endobj 959 0 obj <</Length 428/Filter[/ASCII85Decode/FlateDecode]>>stream
+ endstream endobj 981 0 obj <</I true/K false/S/Transparency/Type/Group>> endobj 1051 0 obj [/Indexed/DeviceRGB 255 1052 0 R] endobj 1052 0 obj <</Length 428/Filter[/ASCII85Decode/FlateDecode]>>stream
8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
-l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 869 0 obj <</Private 870 0 R/LastModified(D:20091124113554+01'00')>> endobj 870 0 obj <</CreatorVersion 13/RoundtripVersion 13/ContainerVersion 11/AIMetaData 871 0 R/AIPrivateData1 872 0 R/AIPrivateData2 873 0 R/AIPrivateData3 874 0 R/AIPrivateData4 875 0 R/NumBlock 4/RoundtripStreamType 1>> endobj 871 0 obj <</Length 964>>stream
-%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 13.0 %%AI8_CreatorVersion: 13.0.2 %%For: (Gilles Dubochet) () %%Title: (type_tags.ai) %%CreationDate: 11/24/09 11:35 AM %%BoundingBox: -227 -99 143 234 %%HiResBoundingBox: -226.5 -98.5 142.5908 233.748 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 9.0 %AI12_BuildNumber: 434 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: -59.5 -62.5 -46.5 -49.5 %AI3_TemplateBox: 40.5 29.5 40.5 29.5 %AI3_TileBox: -239.5552 -349.6377 319.4453 433.3623 %AI3_DocumentPreview: None %AI5_ArtSize: 841.8898 595.2756 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 5 %AI9_OpenToView: -472.5 308.5 2 1589 965 18 0 0 50 75 0 0 1 1 1 0 1 %AI5_OpenViewLayers: 77777 %%PageOrigin:-399 227 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 872 0 obj <</Length 7432>>stream
-%%BoundingBox: -227 -63 143 234 %%HiResBoundingBox: -226.5 -62.001 142.5908 233.748 %AI7_Thumbnail: 128 104 8 %%BeginData: 7284 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD0AFFA8285353FD7CFF28A8FF5353FD7AFFA92EA8FF537EFD7BFF %53282828A8FD27FF2E2828A8FD51FF847EA9FD27FF5953AFA928FD7BFF53 %52FFA82FA8FD7AFF847E7E2E7DFD7CFFA87E7DFDFCFFFDFCFFFD31FFA9FF %FFFFA9FFFFFFA9FD76FFA9FFA9AFA9FFA9AFA9FFA9AFA9FD1AFFA87E537E %A8FD2BFFA8A9A8AFA8FD23FFA9A9A8A9A9A9A8A9A9A9A8A9A8AFFD17FFA9 %7E28292829282F2F7EA8FD26FFA8532F2829282F53A8FD22FFA9A9A9AFA9 %A9A9AFA9A9A9AFA9FD16FF7E2E012806FD0529062F7EFD23FFA859062806 %FD0529065384FD1FFFA8A9A8A9A8A9A8A9A8A9A8A9A8FD16FF7E28282F29 %53292F29542F54292FA8FD21FFA85306292853295329542F54295384FD1F %FFA9AFA9FFA9AFA9FFA9AFA9AFA9FD09FFA8A87DFF7DFFA8FD04FFA82801 %292829295453542930292F292FA8FD1FFFA95300290629292F2929293029 %2F292FA8FD1DFFA8A9A9A9A8A9A9A9A8A9A9A9A8FD04FFA87DFF7DFFA852 %275227277D27A8FFFFFF530629282F5AA9FD04FF7E5429542953FD1FFF7E %01282FA984A82F7EA8A9A87E29542953FD1EFFA9AFA9A9A9AFA9A9A9AFA9 %A9A9FFFFFF52FF5227527D7D52527D527DF8A8FFFFA8002828297EFD07FF %7E30292F06A8FD1DFFA905280153FFFFFFA9FD05FF7E292F0684FD1CFFA8 %A9A8A9A8A9A8A9A8A9A8A9A8AFFFFFA8527D7D27A8FD05527DFF7DA8FFFF %5328282953FD04FFA9FD04FF7E30292F53FD1DFF7D28282953FD0AFF5A29 %2F53FD1DFFA9FFA9AFA9FFA9AFA9FFA9AFA9FD09FFA8FFA8FD06FFA82E00 %2828A9FFFFFF7E067EFD04FF292F2953A8FD1CFF5300280653FD04FF7E7E %A9FFFFFF7E29292FA8FD1BFFA9A9A8A9A9A9A8A9A9A9A8A9A8FD14FF2828 %0653FD04FF2F2F29FD04FF54292F28FD1DFF2828282953FFFFFFA829077E %FFFFFFA9292F28FD1DFFA9A9A9AFA9A9A9AFA9A9A9AFA9FD12FFA8280028 %28FFFFFFA82F292FA8FFFFFF292F2929A8FD1BFF842800280153FFFFFFA8 %29292FFFFFFFA82F2929A8FD1BFFA8A9A8A9A8A9A8A9A8A9A8A9A8FD14FF %28282853FD04FF53292FFD04FF54292F28FD1DFF5328282953FFFFFFA82F %297EFFFFFFA9292F28FD1DFFA9FFA9FFA9FFA9FFA9FFA9FD15FF53002801 %A8FFFFFFA92984FFFFFFA8292F0653A8FD1CFF7D00280159FD04FF532FA8 %FFFFFF7E292829A8FD1BFFFD04532E5353532E535353287EFD13FF7D2828 %282FFD09FF532928297DFD1DFF7E28282853FD0AFF54282953FD1CFF5300 %280028002800280028000053FD13FFA92828062853FD07FF5329282828FD %1FFF28280053FD09FF7E062906A8FD1CFF28000028002800280028002800 %53FD14FFA806282828297EA8AFA87E2929282906A8FD1FFFA8062853FFFF %FFA8A9FFFFA87E2829067DFD1DFF5300280628012806280128062853FD15 %FF7D0028052801280629062828280159FD21FF7D0053FFFFFF7E012F2828 %0129012FA8FD1DFF2E01002800280028002800280053FD04FFA8FFFFFFA8 %FFFFA8A8FFA8FD07FF7E062806FD0728067EFD23FF7D53FFFFFF7E280628 %28280053A8FD1EFF5300280028062800280628002853FFFFFF7D52FF7D52 %A852A852A8527DFF7D7DFD04FFA9A8282800060006002828A8FD24FFA8A8 %A9FFFF7E00280028287DA8FD1FFF2806002800280028002800280053FFFF %FFA852A8277DFF7D527DA8527D7D27A8FD07FFA87E537D537EA8FD2BFFA8 %28287D7DFD22FF5300280128062801280628012853FFFFFFA87DA852527D %52FF527DA852527D27FD3AFFA8FD25FF2806002800280028002800280059 %FD04FF7DFFFFA8527D7D7DA87D7DFF7DA8FD60FF53002806280028062800 %28060653FD72FF2800002800280028002800280053FD72FF530028062801 %2806280128062853FD72FF2800000600010006000100060053FD72FF7E2E %53525353535253535352537DFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFD9AFFCACAA8CAA8CAA8CAA8CAA8CAA8FD74 %FFFD0DCAFD18FFA8A8767676A1A8FD53FFCACAA8CAA8CAA8CAA8CAA8CAA8 %CAFD17FF7D6F446F446F456F70A8FD52FFFD0DCAFD15FFA84B45446F446F %6F6F696F4476A8FD29FFA8A176766F7676A8FD1EFFA8CAA8CAA8CAA8CAA8 %CAA8CAA1FD05FFA8FFA8FD0DFFCA4B4B4BFD066F936F6F689AFD28FF766F %446F456F446F6F76A8FD1DFFCACACAFFCACACAFFFD05CAFFFFFFFD047DFD %0DFF4B44446F4B6F6F9A6F9A6F936F6F449AFD25FFA84B4B446F44FD056F %686F7DFD1BFFA8CAA8CAA8CAA8CAA8CAA8CAA8FD04FFFD04527D7D7D2752 %52A85252A8FFFF764B4B6F456FA1CAFD04FF6F936F6F45A8FD24FF4B4B45 %6F6FA1A1FF766F6F946F6FA1FD1BFFA8FD0CCAFFFFFF52A8522752FF5252 %27A8A82752FFFFA84B204B446FA1FD06FF6F6F936F6F6FFD23FF4C44444B %44CAFFFFFF9A68FD056FA1FD19FFA8CAA8CAA8CAA8CAA8CAA8CAA8CAFFFF %FFA8A8FFA8A87DFF7DA852A87D7DFFFFA1444B4B6FA1FD05FFCACA6F946F %936F6FCAFD21FFA14B4B6F4B70A8FFFFFF76936F9A6F936F9AFD1AFFCAFF %CACACAFFCACACAFFCACACAFD12FF7644444B4BFD04FFA1FD056F936F6F44 %A8FD21FF76204B446FA8FD06FF9A68936F6F44A8FD18FFCACAA8CAA8CAA8 %CAA8CAA8CAA8CAFD12FF7D204B449AFD04FFFD076F936F6F76FD21FF4B4B %446F6FFD07FF9A6F6F946F6F76FD19FFFD0DCAFD12FF7644444576FFFFFF %A16F6F6F69FD056F4476FD20FFA84B204B446FA1FD04FFCAA19A696F6F6F %4476FD18FFCAFFCACACAFFCACACAFFCACACAFD13FF7D204B4476FD04FF6F %6F68FD046F946F6FA1FD20FFCA444B4B6F6F6FA8FFFFFFFD056F946F6F76 %FD18FFA176A176A176A176A176A17676A1FD12FF7D4B444B44FD05FF9AA1 %766F6F6F4B6F4BCAFD20FFA14B444B446F6FCAFFFFFF7644FD056F4476FD %18FF4BFD0420442020204420202076FD13FFFD044B76FD07FFFD046F4476 %FD22FF444B4B6F4B6FA8FFFFFFFD086F76FD18FF76204B444B204B444B20 %4B444476FD13FF7D204B444B76FD06FF76446F444B7DFD21FFA84B204B44 %4B44CAFFFFFF9A44FD056F44A1FD18FF4B20204B2044204B2044204B2076 %FD13FFCA76204B444B6FA1A1CAA1A16F6F4B4B76FD23FF76FD044B6FA8FF %FFFFCACAFD046F456FCAFD18FF76204B444B204B444B204B444476FD07FF %A8FD0CFFA14B204B204B444B444B444B44444BFD24FFCA4B4B444B44A1FD %05FF76446F454476FD19FF4B20204B2044204B2044204B2076FFFFFF7D7D %FF52A87D52FF7D52A852FF527DFFFFFFA876204B444B4B4B444B444B76FD %26FFA8204B4B4B45CAFD04FF6F6F4B4B76FD1AFF76204B204B444B204B44 %4B204476FFFFFF52A87D52A8FF52A8277DA87DA85252FD04FFA87D4B4B20 %44204420767DFD28FF7D2045204B44767DA1764B44444BCAFD1AFF4B4420 %44204B2044204B20442076FFFFFFA8275252527D52A85227FF52A85227FD %07FFA1A1767D76FD2CFFA84B4B204B4444204B444B76FD1CFF76204B204B %444B204B444B204476FFFFFF7DA8FF7DA8FF7DFFFFA8FFA8FFFFA8FD3AFF %764B204B204B4476A1FD1DFF4B442044204B2044204B20442076FD4DFFCA %FFA8A8A8FD20FF76204B444B204B444B204B444476FD72FF4B20204B2044 %204B2044204B2076FD72FF76204B444B204B444B204B444476FD72FF5244 %204B444B204B444B204B2076FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFD2FFF %A86F4BA8FD7BFFA84B76A144A8FD2EFFCAFD4CFF4BFFA14476FD2CFFCA6F %6FA1FD4BFF4B4C7720A8FD2CFF207DA144A1FD4AFFA8A176CAFD2DFF4BA8 %CA44A1FD7BFF4476A144A1FD7BFFCA4B76A8FD7EFFCAFD42FFFF %%EndData endstream endobj 873 0 obj <</Length 65536>>stream
-%AI12_CompressedDataxœì½ëŽ$Éu ùñ¹?À²ÒÍïÎ],WmÏŠj‚MÎhV4’UÙÍUU¶ê"‰óôkçò;YÝjŠäJXÁf•Y„{D¸™vŽ¹}áõ¿ýò«Ÿ]½zúíãϦÃÅé¯þêæýãÃǧ÷?¿ÐÚ‹/Þ¼ùôáã{©úɯ~zQê«ê‹®¾Ø¿öþ×Ç÷^?½û¹>õb¬OÞËÖ?ùë×oÞ<~¸¸ýôÛ§—¿{üøÓ‹Ÿü´>÷ë×ß<Ög?þþ»Ç¯?>|ûáÅÃëŸò®u7·ëÓ¥\ŽóåpÔü|Z.®~Q_qýôéÝ«×ï¾½~ú—Ÿ_ül·‹Ÿõót1Ns}þÿ~ý«Çç/Z_,õe{ýÿ2/–cØ뫧Û¼×-nŸ^~zûøîã/ß?½|üðáæéÍÓû?¿¸ùýû‹_<|[Ÿy¸øïoÞ<ýóÅõ›‡—ÿ6¹z÷±¾ô¿ÿúáUÝþg¿züöÓ›‡÷é%ûøøêñÕ÷¿ðê‹åëû×oëÑzûðñâãzõE¿¾þôúÍ«¿ýôö·õ0ÎòÝ®¾˜¾ÖO÷›õcÕO(ÿ–êíë/ÞÖš¯?~¬_º¾´Í¯þú:£Z©Ÿü}}ë×Ú”õ8ÿŸúnß?}÷öáý?Ôm¶r´ÖQþÖ#7×{ݯß~÷¦¶Øy¨OŽòêø—¿ª~?ôS­\–ñâgSÝÉ:mÛÅTŽó¼Lõ;M/¦uœl›Ö
-ÿôúñŸ~ñ·Oïíð\½ÿøÕëÿU¿ð>—û~ì˱¼·eµçõéÍãûß¼{-GX«;L¿xzõø¦ö¢ØËý›=:ú(íÿí¿~xÿíãÇÚ{žÞ|ú¨]yü©Ú óðûG鋽Á—ß=¾ûõÓÕOú³y“ƒ5 ÒÁÆ‹²ìÇű־¶ë[,ÃŶø›}CÿD²Ù»ÞäOm¹_Ö¶üòýëo_¿ûùϦڹk'·Vþë÷¯_µFÞÆ‹ÝþO¿Ä‹=ýwðŸ}ÚúÅ?~||çÇ¢v®›_¤Î2¼øÅWõmïÞ½ºyz+mðAγÚKÞÕôæé[{.þ­ÏÔÍ?}wúûÓt\þ㧧ê¾Þ<Ö¯}ùíû‡z¼(ã~yõêõãûú̇˫÷õéË›—¯* .ï^~úøxù·k¼ü’—.[<ØKto—/_¿¯Ýã›7ÿrùÐ^cÛ?èÎ_²óGÝòtùh›>¦McÓ׶û×öš×é5¯ã5ït÷§Ë'{퓽ö)½ö)^ûd哽ô“½ôS{ééòS¼öÕ÷ß>¾¿|U?àããåËz¼/?|||ÿF¾Å‡Ç—Òõ.û©Róãåwïå|÷»ËºÅÛ‡w¯~û¦¥÷z×½½º|ùô]EÊ·¿ûxYOèWr
-_Úgˆ·{ñîéã«Ço.¯î.¿üðæáÃïNQõ]eúÛ×ï>µñ÷ïß]¾ýt^}zö:þ~zÿê›Çº«×ïåßo>¼üôF
-¼à¡Öû»ÿã§Çò%_=ýó»ËÇyùæá­þ³ö®×/ÞÔ b«oêYüúÝóñí'UÞ>ÕAä›­dG¢¢úõwòÍ?|÷ðòñòÊãÊ;›ÿuwù$}äÝ«ú‘.ßê_Ú‘ë!ÖR°}j©Õ[å«×ÿôZ:H´8æÿ=þõÍûkÑ»OïŸô“ꙟ[Kº»Óå7¯ëöîQßùò»ú>O¯¤ƒh[·óì·ãj¡¾ôãïž>}¨]äty•ºè]ú÷•õŒ»øpwvh¾°ú/rwý"^ô…½èK{Ñ—i|ï/í¿±Wü&ïæ7öÔ+i©^_¦­­!Þ>¼|/ý½R__öðRO;¥íŒ>]þîÓ»oÞzûæáÓÇzÖá._>ÔíN¿¾S”.ÿåë_¨ÃG5¦¯Swï^>I ð󋯟½ŸÿþòùË.Ÿoh,ÿõÿkoTÙÈÛX°ôëÔœþ¾¬ÅÏñ‹²M—õX=þ㧇7µ°^¾~÷M=W>þ>r|ô 5ª_
-§²9+>¾~xóêõ7ß\Ö/úVïËïÞ?½úô²bâuÝãG^Ýý~\~ùöñÛ‡‹S9–ËJ9©.ʱ]>|W7øÿÇ~yûø¦†6c™½'×3ð=¾ûöñbœyñ›Ú·¿þê÷oûôæëKûÛÇNûê‹ã¯ë1ÿem0NNûÝI£Â_¾ùTŸúë÷OŸ¾ûâÝ7O§ŸXùˇ¿«QT=ï>ÔHÐê¬xa[ÔÚ¿yýOVWƒÂï~úƒûûu=½ä¸ùÛÿYÉY7öŠö¯¯>½þøø¯ïè«—2B¾¿¸~ÿéÃï.~ýôô&>_ÿT|L¯ÖZyýŒ÷ø¥nðîËwv¤Ÿ¿“¿àüjtôî]ê«¿ÿê“ÿ‘÷~óPG!º_¿üÜ|æùx'{îx³Þ½lÛk‘¿D·Ô3ûõ‡·­7¦š_
-y^¾yüê÷5äxû¯ïíöñ›šÉ¤Ã¦µwïþéñÍÓwéCFM².þÛÃûï~h×ÒL•˜¯ê¢çs;ŒOo¿“\ïâ«ß=|÷¨÷ãïîõ•_ýˆnüæá]ŹÖÇ.?µÿVžõH²ºØé"ÜÏèûÙÏ~€‰ËÅõ»ôô_ –ë8÷sÙõ»Gý VsQ~zúL]eîxqýªÜÿçi?e˜†yX†u؆c¸®‡›án¸/¥Tž—¥luà8ÊU¹.7å¶ÜÃXÆqœÆy\ÆuÜÇc¼¯Ç›ñv¼=wãý4L5#žæ©æhÓ>]M×ÓÍt;ÝM÷sM™kúYS¶y·ù˜¯æëùf¾ïæûeXÊ2.Ó2/ë²-{ÍË®–›Ór»Ü­ÃZÖqÖe]×mÝ×c½Z¯×›õv½[ï·a+Û¸ÍÛ²­5éÙ·£>®¶ëíf»Ýî¶û}Ø‹>Æ}ÚçÓ>ï˾îõu»äWûu}Üì·ûÝ~Ô~£c:êÇ;–£¾WÝß~ÈŸ«ãº>nŽÛú¸«û«z´NWõÐ\ÕCp5]ÕïsU?õÕzU?ÀUÝ÷UÝæJþ\×ÇM}Ü^ÝÕÇýÕýõ zP¯ëÁ‹¿ë±:]׃r½\¯×õ;ȇ»Ö·½Ö}\ËŸ›ú¸­»ëûëû›ÚZ7µenÆ›z˜ofyœþ¯Ö¶£·®µï-|«m<h+Oõ!-½F[ÓÚwÚÞÒâÓ)š|ëÝZ¼x›/Þêût¤–—¶RÛk럾§ù—Ô®—éË}íô‚ÙûÁyO¸;ygî0Õ‘»ÄUt íÑ-´SxŸXµOX¯~qsªÝB;Æg»Æ¢]Ã:Ç•vŽíw­sxߘ´oÔ~qÒ®±k§°.q«]Â:] ·þ¡m~ÓZû_kÛ¾ui_i]kßµ;Ÿ½OÞÈãgÚ˜V¦¨¥o½¥Ë©6vkê]ÿ;?ÝûomN«k»kË×v?yÓ[ãŸ7¿£@Ûßp =@þkýÀzx¸:iw C'èÒ)&ít :]CaЈÞqªÝC:ˆuºJë,°D:Ì÷ð¤µíŸðÏ¿ÓK<´oÕž*}uŽþj=VúìqòN{¥ù¬³ÞÅà3k/•>j’¾)ýRzå6§Ú!¥;Ê€#ÈYkw[û]©=n©}í¨½ì¶ö®¢ãʦ]IºÑ}í>Sí0{í$7Û]ýˆÓ¾œj8´ÁïkËNµ÷Úr·õ$뉽Öóùú궞Ác=s·Ú¨7×wõëL7Kí%W777w7Ö¶÷÷÷w÷·÷7õL¾º?jÇÙjŸ]îçûé~¼/÷ÃÝýÝÝÝíÝÍÝu&ŽÚ¹¶Šµån®ïÊÝp{{w{{{Sé%½æTù´Ý®õ\™ëÉ7Þ–Ûáæ¾¾Ûm}ÏëúÎG}ÿ­žK¦:B”›¡Rä®Òä¦Råª~Ò½~Þµ~ê¹r§C§ë¡Âè®Bé¦~¥«úÅöz®¬õ¤œ+ÃÆJ³á¸¯]õ¶vÛëÚz ¶z8–ÚɧÚáË1ÔóáN¹ySÏ’«S=n{=zk=•æz(Çz‚ •¿wõ´»©§àU=!özf®õÏzΖm¨gò]mŠ›zn_Õ†Ùk󬵑æÚTe*îjëÝÔ6¼ª-¹×ö\k«ÎµmÇÚÂÃ|_s[Ys]ÛýPþ¬•Fsí cíµN÷U·µ—\Kg9êù¾Už-µMµ•iïk¯º­}ëºö±£ö´­Rq©ýnªý¯ŒC¹¯ýñ¶öÊërõçhÛýô§mÙë©üiZVÛUšõô§lWiÖÓÛ®­U­QOL«VîìeûcÛö³­ûg?oÿèöý·œ·?ØÂ'kâ?] sÞþgnmÛù⯾¾~_“!¿¼R†Aj¾:ýÕשæúéX)žr}îú6Ò8­—¡ŸÉÐFÉÐæÈЉhd”ÔØÎÉÛá^ó3&Gí6*wݯ뼕/ê š:lžê‘‘SÆÎ]Ex7áiŒgQÞ¤QžŒ¨9Ò;4ÚKñÞIB> úäa Þ¤íµh¸Dh1 ŒÄ2_Ï–«Üj<({‹
-OJh8jxÈÃöµx°(áâ¦!ã®a£ýÿᤑ×HÖ2þY r:k7»×7•·¿öÇM»Ýªo9G÷ó¨ð^¿½<®¥+^ëèճ?¬kÊE²?nõÀËãÊ»6Ìvª-Úg—è¹ögàQû°=n5Œ¿Qf]—#[<Ö2Ÿj/‘‡~€¤ÅCú•õ/ùÿ«î±y´f×ÿ?iç=¨NF—ÌŸLŸk§Ï¦áðòYþ<]2}VåÐG¾$ä1ö@ž‰±e¹?iN!ýà*¸#ä‘c\¢CÜhW¸ÒN`]@°hÓ+Îut‘“à°ÑEØcŠœ;zÝ(}§Ï¦m8kv¥-XOÌ{o7ÚLNÝõT¿‡åiõíêAdè‘F†l&í7²ù ƒŽ ;6ðÈÐ#ƒÏ•fŸ»A2É0´èùeCÑxÒ^3èˆ$c’ŒJ2.ÉÈ$c“Æ•¾IbT‡(¤d˜šµ·ú¸ :dÕAë¤ã–Œ\7:zÉø%#˜Œa2Šm:’­zöÙ9?é˜6z·tl»×ñMF¸Û“s7×öçJ‡»C‡¼]‡=øVü
-·ókÖ)IÉf®tZ’K^³NMJ´qôN§'m e½>É<åÙàÉÈ©£f3/c´ô«rv.>Rú8)#%£d#m„ôѱ»ötNÎÄΓÃsòàCêìÍ<ñ,®á¤¿ ÇÄ" ®´ AkÔ£tò€ãs,ô°àƒ‹ Ÿ»4Ô]1<¿:d!I»<Tü Oqqh¹þîòЩ;îíº!‘Ê× ÓC¿ZHÀbÍa ²Ÿüê W5€µ8÷ˆÇÕÙ£ÿssö¸íŸrpü,DÎaòy°ÜÂå©]§ü\àÜBçó
-ñ=³Öq•÷ì
-ïvuœ|ÂôV¿d-³ÐÜ"å%2PË4¾/•¤Ã÷~­˜ ûˆ ijâË&ÏEìÑòÑ=òÑš™œ>›ŒŸ(eFtõYϸàì—$mó>®ý·Ó‰ëú,ñk^÷[÷XÏK÷˜»Ç”§ûñìQºG·’HW¦´GÿçÖ'þq×ÍÃÞ]w«îqœ=öü8銗úÐð㢅?œœ~\´àÃÉN?&VøC†’#‰~¿Fy㯽ÒŽk“¶ÍÙÅɸ4yë—&¯|0’áh;éˆÔ_™´I¯MÆ¥I lˆÚ4A]tÝÞäCU‘<F†«“/¾c½•[»/½³…wmÙ]ñEww>ŽÝè‚Ÿ«XoW³“ŽguDë燊¸Y¦V¦/u"ØçX™B<ŠÌ­ÖÔOQÊns›iBòÚ‹Í:KY7ôiç»Orêló²ï2Ǫ³œ2·YS¿c”9Öy­o¾ÍýdöŸbgÈü›wïÞ>¾ºø–áv_ëü¹Únž”QkM#ÕîYìù˜–Ç»4P¦ÒÕɇÊüˆ'Ÿ¸6._Ÿ|ó¬t{ŠÑþ6"‚üï;-ßt¯º~¶EzýɃ ÂŒ»v=¾•$»·“-«8Åóˆ³1¢‚õ
-Fˆr
-@È)/';Q¦Ü7aJ|éùƒ‡–,*sÖÂÊz–žt=ä­.Ý#¢d-ä­Ÿ‚ $G "ïuù£„›†³-9Ò
-Êó°aìã
-]Õ?–g±œâŸÛ³Çž¶$ñû—~Ï¢Ãt㦻¸¯‘èɧ¯Ï–¦ptŽeé÷¬6ÔYêSºhŸ¡ýÀbŠn)Z[Œfë oNiqa‰Ui¶.mõŽ¢BO,ïÏ ü¯tl½iSÓ¾º?/;_Õï‹ÇN>Uý£V}ïjvᢜ4Ôø¾¾ä#&³õzFšÐÎë>|åÇÉt³Úz­»MlëÔöYñG¸±›xâß‘ô¡Ä·ŸŠ"þ_5h¿³ã¿÷Q£Ž_>½ù‡‡‹Û§üH9ž×]Œ/ʸ\”ûQT¹(.ÅM®K¯KýŠŸtZâê;(þ«3÷{-þ—úÏÿY+ÿùb¾øÅÅßÿáâ•Öÿݯê_¾'vü¶Võoõ7Qãï¦5ýÈUy»wú>_þË
--OáåeÝ hµ÷Ê6÷õ¿e®'ÀÒƒNêÆ)H'Å26ÒÕòP·ŽtR7Ú'Ö½Ô“aÝé¤\æ5“®VíëÜH'å²4ÒIyZzÒ-rZ®A:yɸ4ÒiyèH§{ÝéjÙ°í¤ÓòÒ“NêôØ9é¤|Œt²ÏyêI'_péô •FºZ|AºZW¡ÛHWËë<5Ò-rR®é–¥e†t‹üÂëÐHWËóxô¤«uëp4ÒÕò>ntK¾†Ò‘®Vò£Á®–kû7ÒÉóûÑ“®ÖMJx']-/ÛÚHWËë±ô¤«uû±é–íÅP7¤“âVzÒIݾ6Òi¹vQPWËE¾lFÔ ®@]-ËuŸ@”‡¡Gls ui‚:)NK:©+SC¾fk¨ÓòÚ£N릆:)/cC|½z
-v¨“¹í uÚž¥¡NzÈ>õ¨«éÐu•†ºZ”‰—@ö»Ò£NúæVêj¹Æ uµ¬ÛfÔI—íA²ek¨ÓòÞ£N뎆:=o¦†:eÑСNXs uZÞꤼÏQWóŒy::ÒIÕ².:)×Q P'å2•uµnZ‡9P'åaØuµ<Z¸éjM9¶=H'åÚ¾A:)¯ûÑ‘n^œ<»c@NËÖÑ€œV•9 'åb€RÈIy°7ÈIÖu% '¯±èN'ÅÍ"Â`œ|³m:‚qz´æ=WË«äP™qµn¬NWËG¨‚q³œµk'ÆÕªéøÍ W‹«UW‹Ûj!T0®Ö5{ÆÍû Ñ‹‚qµ<MóÒA®Ö-g)äjY «åu×rµnsv*äj¹Ží[@n–ϸïäjÝ8îrµ\7Ý \-Öacï('u£ÑG)'åbB)'eùº™rRWä œüùb‘–RNÊÓ´u”“ºÑâF¥\Ú‡PNŠ«w<(§om¹„RNÊ›ÁT)gÛlå´ÎB¥œ¾dJ99"GY;ÊÉ‘,µ?@9iQ9P®¶ølOä¤'ÉÌ‚Cn¶ÊAtÈiÇ“°1AN;ç¼ä¤<­s@N:ô²nää×Þ·e ÈéI09-—£ƒœÖMs@Î0³äCÓš!§°2ò(ä´<–€œ”Gãd¹iž¸J]K\õ)q•òyâZëºÄUÊ9q­åóÄUªrâZË]â*ÏŸ'®ÓÞ%®²IN\u}âªU)q•rN\µ|–¸J]N\¥œWùd牫|᜸êAK‰k-?K\§£O\k¹K\õgþûĵV¥Äµ–ºÄuž'®µ®K\ç¡O\kù<q‡>q­å.q­åg‰ë\úĵ–»Äu.Ï×Z—×Z̉«ÏW©Ë‰«”Sâ:—牫ÜÝ '®z·ƒ”¸Jù<q•ºœ¸¦}(çÊóÄu.}⪯I‰«–ÏW­K‰«¾MJ\eŸç‰«Çœ¸JsæÄU:Èyâ*ý(%®ÓÑ'®ÒíÎWíš)q•rN\¥;Ÿ'®ÓÞ'®z
-¤ÄUËg‰«Ö¥ÄUÊ9qÕrŸ¸JUN\µœW).qÊóÄUêRâ*Åœ¸Öò³ÄUêrâ: }â*å³ÄUÌ œ¸J9'®Óð<q†.q•—äÄUË}âª{M‰ë4ô‰«–ÏW©Ë‰«”sâ*û<O\å æÄUZJ\§ò<qJŸ¸Ör—¸NåYâ:9q­¥.q­åg‰k­ë×Zî×iz–¸Öª.q­å.q•çÏW¹ÁJN\k¹K\kùYâZërâ:Í]â*ÅóÄUêrâªå”¸NóóÄUêrâZË]â*åóÄU¶É‰kÚ‡ NŠç‰ë4÷‰«¾&%®Z>K\µ.%®RΉ«|½óÄUdN\µ=Sâ*=ä<qJ—¸N¥O\µß%®Ò7sâ:•>q­åg‰«ôñœ¸*[Râªå³ÄUëRâªçMJ\•E}â*¬É‰«–Sâ*åÏ%®ãô,q•ªœ¸J9'®R>O\Ç©O\¥œ×Z>K\kM—¸J9'®R>O\Ç Èɳ9qÕrŸ¸jUJ\¥œW)Ÿ'®ãÔ'®òš”¸Jñ<q•o–W=Z)q­åg‰k­ë×Zî×q~–¸Öªœ¸ÖbN\kñYâZëºÄu\úĵ–Ÿ%®µ®K\k¹K\kùYâZëºÄµ–»Äu\Ÿ'®ãÚ'®ãÚ%®µø,q•ºœ¸J9'®ãú<q•ºœ¸Ê}Èrâ*åóÄUêrâšö!”“âyâªoW)çÄÕ¶éW­K‰«¾MJ\刜'®r$sâ*-š×Úâ牫ô¤”¸ŽsŸ¸jÇ;K\µs¦ÄUÊ9q•}ž¸ŽSŸ¸êIW-Ÿ%®Z—WÃLK\C}⪰J‰«–Sâ*åÏ%®eyž¸J]K\õ)q•òyâZëºÄUÊ9q­åóÄUªrâZË]â*ÏŸ'®eéWÙ$'®º‹>qÕª”¸J9'®Z>K\¥.'®RΉ«|²óÄU¾pN\õ ¥Äµ–Ÿ%®eí×Zîײ>K\kUJ\k©K\Ëö<q­u]âZË]âZËç‰k­ê×Zî×Z~–¸–½O\k¹K\kùYâZërâZ‹9q•âyâ*u9q•rJ\Ëþ<q­u]â*圸Jù<q•ºœ¸¦}ç¤xž¸–½O\õ5)qÕòYâªu)qÕ·I‰«ìó<q•ã˜WiÎœ¸J9O\¥¥Äµ¬}â*Ýî<qÕ®™W)çÄUºóyâZ–>qÕS %®Z>K\µ.%®RΉ«–ûÄUªrâªå”¸Jùs‰ë.yë¼u Û%oZ8·ËIàèÔí’¸.G‡º]W‹µGo’¸ŽG n“ÄuéP·Iâ:®ºM»Ó¨Û4q]:Ôm]âºIÞjØRÒmš·–L:Ù©ÒmBmOd…tRös'H·é¡›‚tr¢vB)é6É[„AºMóÖ)H·kÞÚH·kÞ:v¤“9þÝb#%Ý.yë°évÍ[» ®â©vÒÔš¸–@LÕ†µ@Ý!‰ë¾êM\—†ºáYæZ«ºÌµ–»ÌUž?Ï\ËÐg®eè3×Z~–¹–¡Ë\Ké2W)žg®R—3W-§Ìµ”癫Ôå̵–»ÌUÊ癫l“3×´e]yž¹–Òg®úš”¹jù,sÕº”¹J9g®¥<Ï\ËÐg®ÒžòÕaÝñ<qÝ5o- N&àW££¢nž·î–#H§ÓåǤÛu˹#Œm£…lJº]ÓÖ1H·?O[¥ŠœS@'gÍ4¶ˆn׬uÌ Û5kmÝ®Yë Û5kŸNÖzê*¼LºAóÖ¹MÒ mÛ¬$sö>®ÓŸ9Ú[î:HꪇÇi7Hî:VÁÀc×Æ»AÓW oÐüõŒx°“_»g Ú šÀGÆÔ9ýàÝ`G´ði…݈Äì 6äÉ ¿Ö{•yƒä±ÛÒg²ƒ&²F0¥Þ ™ì8öMeËÚqo\Vöøäë*q#ÆÓl¶t1žd³s¯tÙ¬,/š,=n!ž$³SãÞ¨ÉìܲYIfç­Ïf%™56Z6«‡¨´lV’Ùå,›•d6Åx£Œ÷kËf'MfK?e§É¬y2ÍYû‘%³“dÖ©6g§Élisv’Ì.K›³“ÜhZû9;ID­?Ùœ$³FO›³“dÖÊmÎN“Ù©ÍÙiþ1Æœ&³s?g'É춴9;àÁœ&³S?g×'³“æ²-™žç²“¦²{B¦eÜZŒWˆc-ÆërYí0mÁ=évËpìù¤sÎNGEß Éì¸ûÍfm0à'§[ Eæ Ÿœ
-eÖÀŸVÈp—(•¢D3€ƒæ´–ÂÀA“Z‹Ð‚ƒfµn)Mk_:/¯Þ¼}­÷·}xÿû‹Ÿ×ªŸ\ýôâò«rÿÖ‹ŸèMùôVžr[¾/nzñ¿ËKþŸï}‰Ü9Õ_¤`¨}1½öúúêåËOoõôQoj/ü?êõ¿9±R¼´•âõ²4|½øÉO/þî¿Xýåé³ë¢ÏšËYz63)UyfROä5­“>žÏL
-•Ö!­“–KXCZ'}œÏL*.¶´Lúèg&¥|>3i§Ýá°Yö´Búx63©UifR™•f&•qg3“Â9[Y!}t3“R<Ÿ™”o–g&õh¥™IEØṲ̀¼6ÏLÖ¿»™IáÑṲ̀â¨ÍLÊ÷L,—Ãp>3)G*ÏL
-Iò̤¶ÅṲ̀4qž™Ô&N3“z>ÍLÊI—g&·ÒÏLÊ>3)ðˆ™ÉI1QaQ¬°ç|fRêò̤ò)ÍL*ÂÎf&¥n/-Šìå™I)ŸÏLJ]ž™Ô}ŒÅJñ|fRßzkQ¬”ó̤mÓÏLj]‚¹¾Mš™”#rNsegš™”ýå™IùZg3“r4Íåàå™Iíxg3“Ú9Ó̤”ó̤´Ùṳ̀¶uš™ÔþRÒéãṳ̀ÖMâ 3¶Dúx63©°J3“ZN3“RÎ3“?DðëÿÈÿ±ô–¥#‹v‰.@_*´ŽðD¤Åçµ Û¡Oñ¹†cЗuž— ×®Sì‚Y ÐÇešK»À$VØ2Ø'Ðkô7Øeï ×ç´#N%UœSœ>zÊ’ãôqØlÂôõðSž0}]†³‰ ÁE=9—¦ï6îG˜^OËR”>ÕñkÛS”¾ ÃaOˆÒ×Íç r”¾lûÚ<lMΕ-F¯œîça-VI1ú:XTëQú^£xŽÒÃf0<J‹M¼¤ƒV-H_‹ Ë£/ò“ 9F×ɱ³Ý'_Ñ×eOWÕkÎ8ÛÔnÑ÷ÙÂxÑg¦n=D_‡c>ÑYð@ˆ®˜mº~Õ>B_¦mMúj9r Ð-™íô}°9UÐk°às ‹zœèÒ•J
-ÐkàlÍôºÍ¾ŸèË8Ú‰çú2{Øãºý}ˆ®ý©…èc)ó”Côm*óyˆ^ûÄšbô}õ™\†­½Nº>D·ô»EèǸظéz²d‚ªÐ%E4¡×Ž¼´kNRAÖž"ô%çÍ+ ¶µãº,™ªŸfϱù¾{#{­½ÿ‘ÑþÉÿóẔ¡tµfãÎP7IyßZ@-Eé6- 6G­x8­RÛf±¥t+QÜd°…ÓV7úÔ¤„ÓâQƒÕÊ“¬SòpZ,ºÕg-Sà¹úF<-&žœ!9 –ºÑF[›®_h÷# –òpÄÇÒKýµn=,`•€ZÌ­Ù‚f ¨EÝšŽøæPKï-c ¨%Ž´ôÃjéËÒb«Ûf;^P³T„€ºž9ëñ±EÔÅ&n ©eøó£ÕÅÊa‹hÊBjö0¶ºØ®"¤–qµ¨E
-=J ¨YC@]ϯB˜G@]ëv»êaµ¼Æ¯œh@]Ë•§}@]Ÿ› õR¿ÔO-¢^5ŠnѱDÔÒ¾¾F#j)¯Ëµ´Ìu¶ˆÚt¼Ù#h‰¨µÍ})DÔjpαFÔR§C:û¨}m™[H½Ê2®´ZÏqòÏ"!µtß9¶1MpÙ»ˆZ΀Åæz5¢^õÊúµž—[l£u­Ó‰v"êZ®ƒþBD½ºn“#j©[­ÛhH-»Øì¬ÐZ$PY
-”CêUœˆ¨kqídÓˆZ]Ò5¢p¨¥n:v; †ÃüÓˆ°µ\æÆ
-Jõì9‚¤zÂícGR•··#Hªöv©šÙsé@ªöö±H±¹©:ÔvP¤âDe
-JÙTyÈjq›:ŒªÐmM©=8FÕºÞ×£úÎëU{X£ºK0ªUëÕ·Y¶À¨ê륣¨Æ¥” ¨©økPTÝíuê0ªî¶1O1ºt0*n^zŒJÇœƒ¢µ¤D h‰ãÒ(Zl¶ˆº…•r™zˆo, *eÛ­ATºÛÔ3Ôj"*eûÙchñïØ3TEI;ÂnñÕ½NÝÉepêIŽSG8©Ó«ÛJ8‘˜#L”¸ßÄ|6½^ñ¦¾õ^o*F[9ð&Êöfã³âMµî½ñMËS‡7­ÖÀþ5x“²^ßIxS{Ÿo²aoR¶ºÉ\¦tÓÃ5ÜÄf=JÇ6‘b÷†6ñf—e´‰¯­² m¢ãjOu´‰²½[`¨h[|ÝWFÛ²DX§hÅ×; ÒM”m¹gH£›Ùz†:ÝÄØÂrΈínÐmYcLRº‰±­¿•àx«eY¬“éV«ê°³ÝÄO–«[àMuì¹£›TÉšgè¦eK ”n¢<6tݤn-%è&†ö47)ËLæ›ZÜÖ˜zÇ>œoÜ™oúÞ–XéÑSýÚ²&å›msd¾iÕxÓwñ3Lð¦Îú°w|SóÝb/囶¦±Iù&=äXÇŽo"lûY=÷—Ùz:|Óž7Oß´sZ樦þU–5
-xÛË”8'Òö6oÁ9‘¶÷a Îͺ°¦tœi{^ÖàœHÛ£‡mÂ9QgK
-æ&uF·ÀÜäm’97é…á=8'bñàœp®–uÕoæÜ$Ýk‚s"(ëäšsn"Iœ›˜aqÎM¤1Î9u«­ƒsR§ËQœsâh/c›™“òäWÁàœyÝ[p.öᜓ²uÏÀœ¾uK\õ~ynŽ-–L9­J™«”÷¹åTH?æŽsr ‹’”sÚœíòF-–2÷×7¤#MÆ$üsÒñl’³aÎÒÌIW°XÍ0W;ÏbùrÃœ,…°k†9˾5ÌIÙò冹âÍæŠçN`®øÊÌ9]Àz4ΉÔm“óƹâ rϹQ×%¬™s#?0꜓²fë:)-P ЉŸ-âŒNJ“^:QšýêE€ndžÖA'*ô¾¶ÌUžÖ>s›zÚZæjÊ÷ Óré3WÝoK\Uâ¶IWZâ6q “:%¿ƒNÍñ©]Ê•V,¼ ÐÉ7.¥%®£-ŒЉä:}âª"ì1èÆÚetâÚʺ…L:Qr'Kn•t£ÿ¤õI÷Žt"nï tbù{K\ÅÛÞÆ’@'Ö¶_ÎQЉµ ‘åäkÛãÐ
-ЉkÌõ @7êŒFË\UÓ¶zÐc?G'uK‹ç´8¶ÌÕìês"`—£%®R>Æ)0'å­ôW ¤n--q}8æ¤<¬}âªomYöl}¥8
-:-o]âªUsK\qÅ:êGŸ¸Êœ–¸js¥”tÒC»$¤“ž´Í-q•Á:íxcŸ·JçœíWµÓø…GçœtçcîóVýa‚i
-Î)Xö–·jÙœÓÓ¤aN‹vÝC1§ : çF_7æÆ)®+æÆÉÇúse°[«"UÆ:椬©º}Wº3ä¤f²ÜT³Ô¥ø9)Ú¼`0Nœçmn— ¤<.m¥Š”ç¥_©"¶¶íT§Â·Mú)â´<ô«Ut·v9A§†·]6RÆ©ÎmçL0N궵­V1qüÆIy±à.'ßÐÙ©Œ+þkž0N\Ö}ï—«\Ü‚qâÍ.)gÍöØúå*¢ãŠ ãÄØ6~)âŠÌºøõjWë½”qµ¬+ç`œØإ̉qâcë”—3NüíioËUäyg^0®ˆÖrVѵwÝqµ\ñÕ_…(2•±´Õ**_ÛÊE\!ùHˆ+Ì°8ã
- Œ3N”çÑòÓ€œÚ×{[­R$·*k@NÊÅ/S9©†¶Z%öá“ò¼ö«Uô½ç1 §¯ñ«hslÓ­VѪ©­VQy|j«Uä뉜!'Æö¾·Õ*Úžã“.rØõƒ€\‘_ôœÛr•orÚõÆ~¹ŠtÏÝVÊh·‘éô©a®–‡iê—«H/_ì"‚bNÁ²µå*Z¶d90§gŠe²Ê9#ÍœS ýrÝÏЖ«HÙ/`+ç´<<[®¢¿=¹uáœÎlNspN~pÔEáœX”ÇÞç­âpû”Ý&ž¥ yF:™÷ËS:nP'ööbduòëž“êäœ\[ÚºÉÊÙ¹¡Nʃ!*P'»ÝK»Ú*'í0´ë(ßu*Žc Nüìqkyë&Ëž—>o•“_Øê䕵ÍΉຯýW\\ZÞª?K9µ•yrFnÆ­@¬+œÇv!â£ÓòVùÁÒã裹ƒeÓŽ:Ypì´4ÔÉŠó’/Dˆ½-o_&+ê_Ô“QgêYc,N_—ƺ¡]¨Ö þs°NæølBÀXW|®1³N5è–·j¹´¼µŸò̬ûzoy«Ú[Yëjy–žuò«YCË[c°NW÷¨“·¶,ÈP'/iáœmÑå­Z5µ¼UÕñ©å­Åš«#]=ãÞòViÎqhósòcˆÓÖ“®ö$¿ï‚Nøº•¶ D:^Ùû¼UfÇ‹ÍÇI§‘Étç©‚®öçÍWÍèv¹g›(è„,ÛÖ.¸îfw Óß2.í‚«¢fi  žYºZçkÈ”s»^Si\wíçsÎ…’@:¤ÓÙ³ÏlIɬSd‰È*ƒS$¯á‚dÜ© r±•w!ƒ
-É +†Ã
-9ÃàŸÑØþs‹Ø²ÎK4 ¬ÈÚ°_ÍZõNãèö–\‚“µbËëÆÕ‘f˺†9"åÃ~¹A: ¥|UG–Ãó^³Ý‡b[lI¸ÎMË¢¶5Dl»+Éæˆ.ƒsÃCÌ‘ZžÊ6Ç;ÈĬ,[]½–I)—r„9²ÈOí­ñ©Ô‘ÅU“)²JIWè™Å¬æÈ2ÛòLßDÍY8µoG˜#²pj›Bá&¾‰-H›Ã{Ñ~¨·©ñßÄqdÑß—tyÙÅ‘Z'c"∬_,öczÁUÊËÒ€MºÒ´G¤¬…‹#ºæqíÕ©ÛÍ­ÕÕ ²ÖjÆ‹µ#¢Ñ½o£êˆ.+%ÔyþÒ•«#òü°…ž¡êˆ¥-Ì9ˆ›™$jŽÈ^Û&jŽHcô1GtÑÛX‘²¬Ja±>t±œý„˜š#ÒæîY«9¢Ë+Kl£3Ò—ôG¥Ú>4úÁ‘òÚ”5GùÀ1Äé®Glb7]L±‰t|½‘Î|„9"çvº˜#rnÊu ßFÍ]@9†8"‹wŽæâë§ðT±;ÜÌ!ŽÈü÷T‘%šÂùèž³Þ‹gŸíGÔ‘•ü~Êb÷êÙJû)5GdÕ¢†ânŽÄêP7GdõèÞ` &KíæGä%“K "ŽÈÓM³ÕQº0Õ<PGô5îfË+Ú²ý;˜#J] ”º:(uw¤C©»#R·G¥®t,u}$XêúH°Ôõ‘ÌR·G¨fOÝéxêöHðÔí‘à©Û#OÝ žº=@u{¤ªÛ#T·G
- ˆC!q($ q$ ƒƹA’‡Aâ0H@IF ˆÃ qndÂa@87Hp.d¾¹@ÞHÀIÆ xC o$o$à Â!d¡@8‡B’ ‡BáèÛ Î’L8' ˆsƒ$ƒÂa@8 ’L8ì‡Aâ0H2ã0H`\Ú‡2ƒ$3ƒÄ‡@ãH2ãÜ q$ ƒ$3ƒÄ‡@ãH2ãH` ŒC ÉŒC r$@ƒ$CƒÊa¤ž 3 ™r$N9H€I¦ ”C r$ç”à ɔC!r($P‡$S‡Êa‘À94’Ì94@‡FèÐHè°H
-;,’ ;,‡ °C"É°Ã"vX$Ћ$Ó‹Äi‡DíH2íH  ´C"É´C"vn‘
-"—@ÁK2C.„!—@ÂKÎQøŸØ.‘e².$Û%R7N!—ÈÊŠuo7%‘òÐnÙ¥r‰¬¶ð7k8(åyŒ»üÉz­Ý3D®›HU™Û]þdMÀ0´»üÍóÎÜ’@.ÿëO­¹[¢‹Föv—?YTÒVÈë4­Tù-ÁT-©eû‘zWK¤<Lñ5T-©uzIWKl5K»ËŸ¬A˜¦þ.²AµhWKjysGÝY`ÐÝõÁfRn††[¢‹„¶v—¿Y²œðDì×½?”›%²Á:µ»üÉêžr¸YÂ
- ÌÙæ(í.ò¼\ZÓmÜ,‘A~ÃK]á ô(í.²‚bÀwp³DWUìí.³§‚˜%RB·q³DÒ¼†Z"Ñî¢f‰gi:ßDÍ©;¶v—?]r´»üIÓM4·Bt]ÉÞîò'e¿ßˆš%ºiïïò'uÇ0_¤}ln€¬Öñäþêñ62Ñ*}s<Ú]þ¤ëNG»ËŸtíeŒ# f‰®`Û]þ䤒°³D–&ɽ{}5Kt­Ñ±†Z2v+$WKdá4–wUK¤ni·$‘=øyÔ,‘ÅL²|?:§ýp,·¶T³DÊeowù“µ<k»'‘š%º¾gÃ,‘…T¦IѲھ5Xý†úi®–Hy_Û]þ„BµúVyì×Ü,‘ò6¶»ü)̦ùßÁ,é0êf u±$0êbI‡QK£.–F],Éu¯$8ê^IpÔ½’Ž£.–
-  C!É C!t($€…$ƒ…С
- GÓFŠÿÂ?Úˆå¾i#õb£©6Rl!`h#%{c¾6ªÖémßðFä5ÇÒ¼9jÿÖHÂ(ÒÅqŒ"dŒ"8FqFÀ(ÎHæ(ÒE£H#™£H#ÀÔ­XŠ5’YêÚH°Ôµ‘`©k#K] –º6LÝé`êÖHÀÔ­‘€©[#LÝ ˜º5L±F2LÑF€)Þ4ÅÉ4Ŧê€R¼‘„R´PŠ6JÑF2JÑF@©k#m$‘k’º5HÑF2HÑF
-×¥èæ-b.–2¨7èfóFçf×FàÜìÚœ›]Éœ›]s³k#pm$kÐa
-¹ðFœrá$Ê…7b” mÄ1ÚHÂ\h#Ž¹ÐFs¡$Ì…6✠mÄ9ÚHâ\x#ιðFœsátœ k¤q.¤ç\X#ƹFéB1Ò…3⤠g$¡.¤G]H#ŽºFêFua8êÂI¨Cuh# m$£mÔ¡8ê°F2ê°F@Ö¨ÃɨÃuX# k$£mÔ¹7êðF2êðF@ÞH Î½‘Œ:×FuC@ÙPçÚH‡:×F‚u®ë†v¡bˆMÔ Ö¹5¬sm¤ck#Á:×F‚u®t¬så#XçÚH°Îµ‘Žuh#°mÖ¹7’Q‡7êÜt¥å+Gû2ûÔòÖÐF ÚH&Úˆ“.´']h#‰th#ºðFtá$Ð…7b  mÄAÚH]h#ºÐFt¡$Ð…6â  mÄAÚHÞˆs.¼ç\x#çš5Ò@פ']³F uMI¬kÒˆÁ®9#N»æŒ$Ü5iÄyפ^“Fñš4âÌkÖˆC¯Y#‰zh#P/´°ÚHæ^h#€/´'ÖH&_X# /¬ØÖH†ÖHÄynDœçÖHç¹6q^"›zîtž{#‘Ìš7¹¬{#9—5m$RY×F"•um¤KeM‰LÖµ‘˜²sm$OÙ¹5SvnÄ”k#Ý”k#1egyMÌع6ÒÍعò3v®ÄŒk#ÝŒÚ3vh#ÌØáä);¼æìðF˜³ÃIsvh#ÌÙ¡0g‡6’çìÐFHeÑFˆòÐFr”‡6B”‡7B”‡7’àÞˆÁ¯i#N¿¦$ü5mÄùÚˆó¯i# €Mq†6âlÚHB`óF‚Íq
-6oä_]üŸÄ‘Érq…²6"ue›C‘ wYNˆ7"îÒ¹^žš7"óôǾ†82ùä‹#òôæ÷ÝA‘:™™A™ê ÌGˆ#R® ~£›Hi]ÜçÐ0r´©=¼¹Ø°s¼ƒz#£]×od´+áŒ6çÛ˜72ÖOjÆ‹z#2;=®MñÙißÄÄQ*Ž£‰#µÿšfcÞH9»¡ƒÕéÂËðF;o©ý¾Hã v‹(¼(ëa od°Õ꾉 LƒeÓá ¶¶4¼‘Ánü£Û Ž ²†sk∜WËÒÄ9÷ÑGŠÞ+¼¹ž´¯Í©eAµn‚8"i?š8Rl„q¤Øú5ßÆĹä[Ö&Ž ÁBm5 Û¨82Ú∴¹ÝKÄÄ‘úþ2ßäÛèÄŸÔ©ÙÞö¡ûG©e)x`­ýslÞˆtÞ)6Ñ·Ñ¡‰MD‘@ÖB"ŽÈyVÓ¦Gä<<õ]Ñ‹.sx#µ¨·AroD/Ñ, }@½©““oDöà÷ÜQoD®sÉatÏYUM8"eÁ9âˆ\æYÚí†TÑKhûâˆ\b›IŠ–Õ\ôm¬Á&]
- ”Ã!É”Ã!rH$p‰$s‰Ð!‘
-9»¡Î]’uî’ê\& Ô¹LÒ¡Îe’@Ë$:—I2êÜ% Ô¹K¨óKçêpI@»$—$“—Òá’@:d’L:dH‡Lâ¤Ã%ɤÃ%t¸$C,ñ?JÖ…KéÆ ˜’.\’DºpI†H÷Í%bVÄ\’„ºiŠ££¨›Iu2IbÝ„Lb¬›pIœu.IbÝ„L⬠™ÄY2Ib]È$κIœu!“$Ö…L⬠™ÄY2Ib2 ¬Kû°Iz“I2ê\&qÒá’@:\’L:dH‡LéI2ë&—Iœuî’êÜ%éPç.I æ‚:wI:Ô¹K¨s™$Pç2I‡:—Iu.“ê\&éPç2 ¨s—$Pç.IÇ:wI‚uî’ëJäÊë°I2ëÐI`: °Ã'É°Ã'v%À¡$áØ!”
-ã ‹%A;K:Ú¹Xâ´Ã+vx%™v{Kï½íy%À¯$ïØ!–
-·$Oá!—0…‡\ÂrIžÂC.a
-Ï“fðKò r 3xÈ%Ìà!—ä<—Kb¯íÃfð\.é¦ð\.aÏÝ’˜Ãs·¤›Ãs¹$æð\.‰9<—Kº9<—KHkÝ-‰hÏÝ’.Ús·$¢=wK"Ús·$·
-â–@ÁpK2Ã-„á–@ÂpKÎQøŸØ.‘É#QŠ²]¢“Ls »DÊrÞ`—Œž8¿<5»D&ª$ôÀ.‘ò>ÍØ%R,;[¨\"Ó_˲„\"ó)¾Ô\çªk¹ænv‰L¦{È%2ß6º"rÉ(Ëj×°>˜mY¿ ‰ÌHy°5ó*—Ôò2·5ò*—È,Žt—Ktç˜B.‘ œmŽ/¢rÉ8™!‚\RË5¹ßÂ.§³Û>XnŒn+¬‹øn—Œ½X2Vü-;^‰L‹Ê›ðJt*•»q¸W¢³¯æ„¨W¢S«"Y¸W¢3¶~+'¼™^•H¯dœ,ñÃ+ѹTÜ÷JäËÖæ ±D^#Úb‰ÎW­!|Œ>?¥ÌE,‘¸á•È1^Ú&ê•H;è Ý+©eífx%RÞš»±Û,®Îz¡•Hkû½FT+‘Þ°¶…èôß8»ùÞöa· Q©DúܲÎñ.úëKó åV‰ôZ½©‹/@ÖY©m#V‰ôücZÃ*‘ói3±F­9'ç&¼¨U"’Ó°…V2ÊZÓ‘f{Z›Ê»€j%²É±‡U2úÂN¬’ZVÀG·œu7º)VɸÚÙ†U2¦;“a•È´¨ÄEX%2ÿ¬?ñïVI-«ØèÛXs-¶„­D^#½ ­Dž±ÌVK „$¨Â*‘—¿;‰,¸RÍÿ÷#éêVI Ô­’@¨[%BÝ* „ºUu«$3Ô¥’`¨K%ÁP—J:†ºUHM* ŽºTÒqÔ¥’à¨K%ÁQ—J:ŽºTu©$@êRIR—J¤.•HÝ*é@êVI€Ô­@ŠU2öB‰ƒŸ’â“d’â“@RõIÀ(>IÆ(> Å'£ø$£ø$`Ô…(ŠP’)ŠPE](qˆâ“dˆâ“
-ã°F`ÖŒÃù†q²F^Œ“5’Œ k$'kä…8Y#‰8Y#‰8Y#q’Fq’Fq’F^ˆ“5â$$â$¼'i$ÒHNÒÈ‹p’F’p’F’p’F^„“4’„“4’„k™Ç]yðìä’síÖH".¬'aÂõE¯-TÏ­„Ãpø" _¤"_Äá‹€8|‘Ê8|‡0ãF*ãF`ˆ‡/R‡/ãðE`¾HaªŒCqè"•qè"0®ìC‰,×ýBœd‡-á°E*á°E ¶„éŒÃqÒEqÒE^ˆ“.â`í*Rá¶È q²Eq²Eq²E^ˆ“-’ˆ“-’ˆ“-òBœl‘Dœt‘Dœt‘Ê8Ù"É8Ù"ɸ–}âãºl‘ʸ.[ÆuÙ"@®ïÙFLÈuÙ"@®Ër]¶H\—,äºd ×%‹TÈuÙ"‚\—,äºd‘
-¹²Œë’E€\—,R!×Q\¹.YÈuÉ"r]²\@®Ë©ë²Er[Ù"@®ËéoQD”ëòD \—'R)×]8ž>äº<‘
-¹.OÈõ3IìïN—'R!×å‰
-âP<@šˆC©ˆCqe±ˆK"•qH"@KÈa‰TÈa‰
-ã°C`vŒÃùdvHevŒÃqØ!•rØ!P;Êa‡Ì!‡€9ä0‡R1';D˜CsÈ!sÈ!`9Ì!‡TÌ!‡€9ä0‡R1‡æCÀvHÅv˜ÃsØ!ý-†sòBÀ^HÅ^˜Ã IÌÉ yaN^HbnKæä…¼0'/$9'1$9·å¤ÄâœÄäœÄ8'/äÅ9y!É9y!É9y!•sR:’sÒB’sÒB^œ“’œ[ûÐB Y#H!‰¹°B’rmõO’r²B’r²B’r²B^”“åÐB ZH¥ÜX&ôi…
-9¬ ‡ä°B*ä°B€VÃ
-©Ã
-rh!@-¤@NVŒÃ
-qX!ŸŒK+¤B.­(—V˜K+¤r.­@—V¤K+¤ .¥X—R°K)¤Ò.­ñ.¥€—RH%RÄK)ä¥R™—RÐK)ê!…Tê¥öR
-{i…Tða…dûNVH¶ïd…о“Bû®PÍxòA^ <ù Ù $û¯òA^ýWÕ û*$»¯òA^Ý×ðA²÷*!$‡è$„¼†è$„䄆è䃼†èäƒäº3ŒÐÉ©#tR9r„N:HŽÐIyÐIɺµ_$d×d£“ ’ct²A^ct²ArŒN6HŽÑÉyÑÉÉî«tlÝIyµî¤ƒÐº“ ’­;Ù |Ø €/mÈ—6HE_Ú °ö¥ Rá—6ôC~©ƒü¥ 
-â}·ÖPAì¿^gþÂ]‹Ùäù·mpAìßOkÄz”GDôî°3AžoÖ5æO¸£tÇŠ1È Öq="ŸÜeçßÏ ÏÃrÄûº!±X’õb"iÝÿšõbž ¿pÄz2Ö Ã±^ŒÔwA¬‡òZÊ¡±¨aKÄ:þ¾DŸ\n8$„XÌ&%e„ØO¬…Âø‚~â_$—Ø{!>æ°i„øHÇ[ñá’ÞR±#}Ú½)„ØÙLD !Ö/³Õ¯Bìß6lbÿ¶GÍ#!Ä®’Ý„»Š6§…âýÅõ7B,6dØŒ¶Ýëô`„ؽëÇZdD×Ô_x”û·Vq%Äž‘çÖò볘Këìã¶vñRH³ÜÀ£åßñåjŸç³µÔˆ=¾=]æòsBì 8žMqBì5³† Nˆ½†sËMü•´Þ¹%¤â„´k É ±Îüà"'Ä;üñܸb»Ðz;.…Ø€ˆuHòù<|?g¬âNˆýs‹—ÍW9ÖZCî„Xìùô¤bcG¤ù¿ÝGÔo(xÑlü'ÄþmMœ»çu½¤‹Yk)Äþ}ÅÂ>žEå<ëÿœ
-R)! R)!€TFÈ ¤2B
-8Ä
-ÏË©œÃsø"€_¤€]С‹
-èÐF
-9´(ÇëåÐF*åÐF Úˆ(‡5R)‡5å°F ÖH¥\“5嚬(×dTÊ5©#P®],Þu¹#ríÎÖ—S®ÉrMîH¡\“:åšÔ(פŽTʵPG€\“:äšÔ‘
-¹&uÈ5©#@®Ñ)kŒ´ˆrnŒ(×äŽTÌ5‰`®IsMòHÅ\“<ærÂ\“>R1פ€¹6Ö|ZÏß¼rWšì0×FÎô:æšì‘Š¹&{Ì5Ù#`®É©˜k²GÀ\ƒ¸#ç«]©œkÒGĹ&{Ð5Ù#tMö k²G
-;ä`‡<ìG*ìG€òˆ`‡;Ra‡;ìpG€îH…î°Ãv¸#v$ÀN °Ã ©°Ã v$ ;$vHvÛ²ÃNÉ vH’vH’vÛš²HÚI IÚI IÚÉ yÑNIÒNIÒNÉ‹vÒ?’vRH’vRH^´“B’´cÐ.$’ì$‘$ìB"Iֵ촜å–yœ¬k9笓CòbX‡CëpH*ëÆZeêðW8$P‡DRQ‡D"Ôá€:’Š:P‡CêpH*êpH@ ¨Ã!©¨“DéH ÉéÒ!)¨K…Ö¥B"Ø¥ARi—‰p— ¼K¤/ ˆ— ÈKƒ¤2/ ¨—
- ØK…¤r…î¥BøR!©äK…ô¥B"öaTö¥AüÒ ~iTüad[OI¶õd¼ÚzÒH²­·Ø=y$¯Æž<’ìÒ†G’=Zy$µG«uèÐJ#É­4’W‡64’ìÏJ#É¡;i$¯¡;i$9t'$‡î䑼†îä‘äÐz7ŒÜÉ#yÜIÉ‘;‰$9r'‘ä5r'‘$GîØ#wRI^CwRIrìN*IŽÝI%©cw2IrìN&IŽÝÉ$yÝÉ$É­L’léÉ$yµôd’dKO*I¶ô¤’Tü¡’i’À¿4I*
-SL`*“–b’T–b’ÀR™$ “¤¢“”b’€RL’ŠR<P*“’Ê$© Å$¤kRL’
-RL@ŠIH1I
-HÓ$HÓ$H1I
-GÓ$ Ž¦H"Ž¦HR@š"‰@š" E$© •HG1Ià(&Iå¨L0ŠIF1I*F1I„QD0*‘d{‰d!’@QD(ŠHòAÑ4I
-ãR%ãR%ãÒ%)ŒK—DŒ“L"Â¥LR‡L"À!“
-á0I¸4I¸4I
-áÒ$ Â¥H"Â¥HR—"‰—"‰—"I!\Š$B\š$B\š$qi’ˆqi’ˆqi’Æ¥IŒC$âR$)ŒK‘DŒK‘DŒK‘äƒqi’Æ¥J"Æ¥J"Æ¥KR—.‰—2‰(—2I¡\Ê$Â2 ˜C&IÌa’€9L0‡IR9‡Iç0Ià&Iå& œÃ$s¨$t¨$& ¤Ã$)¨C$uˆ$°‘¤²N" ¨C$uˆ$uˆ$ ‘ÔI$©¤Ã$t˜$“¤’“Òa’@:L’Š:LP‡Iê0I*ëd’€:LP‡IRQ‡ê0I@&IE& ¨[ûÔa’TÔa’€:LP‡IRP—&‰X—&‰X—&Ia]š$ÁºIĺI
-ëR$ëR$ëR$)¬K‘D¬Ã$êÒ$)¨K“D¨K“D¨K“¤ .M’@]Š$b]Š$ÛK( ‘D¬K‘D¬K‘äƒui’Ö¥J"Ö¥J"Ö¥KRX—.‰X—2‰X—2Ia]Ê$b2 ¬C&IÖa’À:LX‡IRY‡Ië0I`&Ie& ¬Ã$u¨$•u¨$b& ¬Ã$)¬C$uI@"IE" ¬C$IÖI$y±N"I².D’DD’ëd’$ë6¨,Ö…IòBL’DL’DL’êd’$êd’$êd’¼P'“$Y'“$Y'“äÅ:Y É:™$É:™$/ÖÉ$IÖå>Ä:™$/ÖÉ$IÖÉ$IÖµì²$ë0I`& ¬ “¤’“D¤C$éR$)¤K‘D¤K‘D¤K‘¤.E‘.M¡.M’‚º4I„º4I„º4I
-êÒ$ Ô¥H"Ô!’l/ìVÿØ_ØIDºI>I‡IRI‡Jé½õ
-êÒ%êR&êR&)¨K™D¨C&uÈ$‰:LP‡Iê0I*êd’@:LP‡IRQ‡Iê0I@*IE*‰P·ÊPê0I
-êI@" ¨C$©¬C$uˆ$°‘¤²N" ¨C$uˆ$u˜$ “Ôa’TÔa’€:LP‡IRQ‡Iê0I@&IELH‡Iéd’TÐa
-é0It)’t)’l/›,R­ºIºI>@—&I]ª$]ª$\’‚¹tI„¹”I„9d’B¹”ID9d(‡L’”“Iä0I€&I…& ”#íÊa’TÊa’@9L(‡JR)‡J"Êa’@9L’B9D(‡HåI*åI œD ‡HR!‡HåI "I¥& ”Ã$r˜$•r2I€& Ã$©Ã$r˜$@“¤B“Êa’@9L’Š9,0‡Iæ0I*æ0IÀÜÚG`“¤b“Ìa’€9L’‚¹4I„¹4I„¹4I
-æÒ$ Ì¥H"Ì¥HR0—"‰0—"‰8—"Iá\Š$[z7a’ti’Ð¥I"Ð¥I"Ð¥IR@—&I.E‘.E’BºIDºIDºI>H—&I!]ª$"]ª$"]º$…ué’ˆu)“ˆu)“Ø¥L"Ø!“
-êÒ$ Ô¥H"Ô¥HRP‡H"Ò¥H"Ò¥HòAºe’Ô-•D¬[*‰`·\’B»å’wK&ï–LR€·d/e—2I2/M¨—& ØK“¤r“î¥IøÒ$©äK“ô¥IûPI*ûR%üÒ$~i’ü!’d[O"I¶õ$’¼ÚzI²­—lScO"É«±'‘$»´!’dV8zõhÃ$É­L’ìÐÊ$yuhÃ$Éþ¬L’º“Iòº“I’Cw2IrèN&ÉkèN&IÝE÷&Gîd’¼FîdäÈL’¹“Iò¹“I’#w¹ÜÉ$y ÝÉ$ɱ;™$9v'“¤ŽÝa’0v‡IÂØ&I»Ã$Q‡‘„–"Imé!’ÐÒC$¡¥‡HRð—"‰ð·Lño™$€Ë$Ó$—IR¸L’``Š$bàI
-—H" .‘D\"É?"_ù¿†Ib[Í?Ä+éž ×_^I·õ˜¶3¾Ÿ—Õ§±ðJºe8Ì+ß/[yDz X£Ää¤xº¥•t½ŸúE,_lã—Ç•ZI·Ï¸4_-ûç¸c_ü7öχÌ2Iìá}XÔÂçˆ5Jž¦‘¥|ð'|¼Ö—š9Ö%?_¾<T®QâSœß<ß {’KBŒ§0=´m±òB”•ôé±F‰åøœgš%6—³ß±@‹«%öà>­·\bæóNi—lö&ÙRè%ö}{¾~¹êˆû%fÉfè¾@‡ÔûÌØ£¯­ø¶'OÆ-ÙÜ«*«”„~°½í’ço=°PE<×ÁÞ´£·µRÉs ãÎݱꭙÛ¸_âÓd=L Lž-v½üg2Lìj ï©táÿyÛìë‹•øðéÁb±’‡û[¿×b%Ï7‚AÜX°ÕËf:OoÙbÑËÅJ~>µI¬Ubã3-F] [$–ú1èÁZ%?öס6pC{&ÝòⶵTI·ø}Ùåï׋HÊ0±o§÷Pd˜Ø‡ñl)¿D]=Ë2¹®TLl/›åb²û ËG'n> ö¡˜ì.©˜ì¦ø´÷Z%{,Ÿ†abóZ¼È ËßÏ|éÜ0Ù--ûÍæ¹g&ÝÇ|bíEûk×,ĉ–Š‰å{Û3ñp9…î§)¹§bbÛØëƒbbd»äÿ +&ô¼ªóéeÝeÛ?ù“?þå—¿ýõÏþÓßüGû“ßuQ^ð•‹’ð•‹’ð•‹ò‚¯\à+%á+åE_©(I_©(I_©(/úÊFIÛœ±õž@0 ›T³° faÌÂ&Á,l‚Yس²Ia0 ›À`é(‹ÁòQÞ –‘²,%%Œ“òb0RÊ–:JB¥B%!ìBJ#åE`””$0NJ)¥'% ,)%Œ•ò0ZŠ]*_íNÄß\á¤ð7W8s…ñ7W8)üÍõIÄ_V8 ü²ÀI¡o.p"ú®}s“B_´Ñ+úb¥Tú¢¥@_´è+-¥Â-øâ¥
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 962 0 obj <</Private 963 0 R/LastModified(D:20100413200510+02'00')>> endobj 963 0 obj <</RoundtripVersion 13/CreatorVersion 13/ContainerVersion 11/AIMetaData 964 0 R/AIPrivateData1 965 0 R/AIPrivateData2 966 0 R/AIPrivateData3 967 0 R/AIPrivateData4 968 0 R/NumBlock 4/RoundtripStreamType 1>> endobj 964 0 obj <</Length 974>>stream
+%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 13.0 %%AI8_CreatorVersion: 13.0.2 %%For: (Gilles Dubochet) () %%Title: (type_tags.ai) %%CreationDate: 4/13/10 8:05 PM %%BoundingBox: -227 -99 143 234 %%HiResBoundingBox: -226.5 -98.5 142.5908 233.748 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 9.0 %AI12_BuildNumber: 434 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: -59.5 -62.5 -46.5 -49.5 %AI3_TemplateBox: 40.5 29.5 40.5 29.5 %AI3_TileBox: -239.5552 -349.6377 319.4453 433.3623 %AI3_DocumentPreview: None %AI5_ArtSize: 841.8898 595.2756 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 5 %AI9_OpenToView: -285.3354 49.2085 4.4426 1589 965 18 0 0 470 360 0 0 1 1 1 0 1 %AI5_OpenViewLayers: 77777 %%PageOrigin:-399 227 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 965 0 obj <</Length 7512>>stream
+%%BoundingBox: -227 -63 143 234 %%HiResBoundingBox: -226.5 -62.001 142.5908 233.748 %AI7_Thumbnail: 128 104 8 %%BeginData: 7364 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD0AFFA8282F53FD7CFF06A8FF5359FD7AFFA92EA8FF537EFD7BFF %53282E28A8FD27FF2E2828A8FD51FF847EAFFD27FF5953AFA928FD7BFF59 %2EFFA82FA8FD7AFF847E7E2E59FD7CFFA87D7DFDFCFFFDFCFFFD31FFA9FF %FFFFA9FFFFFFA9FD76FFA9FFA9AFA9FFA9AFA9FFA9AFA9FD1AFFA87E537E %A8FD2BFFA8A9A8AFA8FD23FFA9A9A8A9A8A9A8A9A8A9A8A9A8AFFD17FFA9 %7E282F282F282F2F7EA8FD26FFA8532F282F282F53A8FD22FFA9AFA9AFA9 %AFA9AFA9AFA9AFA9FD16FF7E2E0128062F292F292F062F7EFD23FFA85906 %28062F282F2829065384FD1FFFA8A9A8A9A8A9A8A9A8A9A8A984FD16FF84 %28062F292F292F29542F30292FA8FD21FFA853062928FD042F542F30292F %84FD1FFFA9AFA9FFA9AFA9FFA9AFA9AFA9FD09FFA8A87DFF7DFFA8FD04FF %A8280529282929535353292F292F292FA8FD1FFFA92F00280629062F292F %292F292F292FA8FD1DFFA8A9A8A9A8A9A8A9A8A9A8A9A8FD04FFA87DFF7D %FFA852275227277D27A8FFFFFF530628282F5AA9FD04FF7E302F302953FD %1FFF7E06282FA984A82F7EA8A9847E2F302953FD1EFFA9AFA9AFA9AFA9AF %A9AFA9A9A9FFFFFF52FF5227527D7D52527D527DF8A8FFFFA8002806297E %FD07FF7E30292F06A8FD1DFFA905280653FFFFFFA9FD05FF7E292F0684FD %1CFFA8A9A8A9A8A9A8A9A8A9A8A9A8AFFFFFA8527D7D27A8FD05527DFF7D %A8FFFF5328282959FD04FFA9FD04FF7E302F2F59FD1DFF7D28282953FD0A %FF5A292F53FD1DFFA9FFA9AFA9FFA9AFA9FFA9AFA9FD09FFA8FFA8FD06FF %A82E002806A9FFFFFF7E067EFD04FF292F292FA8FD1CFF5300280653FD04 %FF5A5AA9FFFFFF7E2F292FA8FD1BFFA9A9A8A9A8A9A8A9A8A9A8A9A8FD14 %FF2828062FFD04FF2F2F29FD04FF542F2F28FD1DFF2E28062953FFFFFFA8 %2F067EFFFFFFA92F2F28FD1DFFA9AFA9AFA9AFA9AFA9AFA9AFA9FD12FFA8 %28052828FFFFFFA82F292FA8FFFFFF2F2F2929A8FD1BFF842805280659FF %FFFF8407292FFFFFFF842F2929A8FD1BFFA8A9A8A9A8A9A8A9A8A9A8A9A8 %FD14FF2828062FFD04FF2F292FFD04FF54292F28FD1DFF5328282953FFFF %FFA82F077EFFFFFFAF292F28FD1DFFA9FFA9FFA9FFA9FFA9FFA9FD15FF53 %002806A8FFFFFFA92984FFFFFFA8072F0653A8FD1CFF7D00280659FD04FF %532FA8FFFFFF7E29282FA8FD1BFFFD04532E5353532E535353287EFD13FF %7D2828282FFD09FF532F28297DFD1DFF7E28282853FD0AFF53282953FD1C %FF5300280006002800060028000053FD13FFA92828060653FD07FF532928 %2828FD1FFF28280053FD09FF7E062806A8FD1CFF2E050028000600280006 %00280053FD14FFA8062828282E7E84AFA87E292F282F06A8FD1FFFA80628 %53FFFFFFA8A9FFFFA87E282F067DFD1DFF53002806280528062805280606 %53FD15FF7D0028052806280628062806280059FD21FF7D0053FFFFFF7E06 %2F28280628012EA8FD1DFF2E06002800280028002800280053FD04FFA8FF %FFFFA8FFFFA8A8FFA8FD07FF7E06280628282806282828067EFD23FF5952 %FFFFFF7E28062828280053A8FD1EFF5300280528062805280628050653FF %FFFF7D52FF7D52A852A852A8527DFF7D7DFD04FFA9A82828000600060028 %28A8FD24FFA8A8A9FFFF8400060028287DA8FD1FFF280600060028000600 %2800060059FFFFFFA852A8277DFF7D527DA8527D7D27A8FD07FFA87E597D %537EA8FD2BFFA8282E7D7DFD22FF5300280528062805280628052853FFFF %FFA87DA852527D52FF527DA852527D27FD3AFFA8FD25FF2E060028002800 %28002800280059FD04FF7DFFFFA8527D7D7DA87D7DFF7DA8FD60FF530028 %0628052806280528060653FD72FF2E05002800060028000600280053FD72 %FF5300280628052806280528060653FD72FF280000060006000600060006 %0053FD72FF7E2E532E5353532E5353532E537DFDFCFFFDFCFFFDFCFFFDFC %FFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFD9AFFCACAA8CAA8CAA8CA %A8CAA8CAA8FD74FFFD0DCAFD18FFA8A8587C5883A8FD53FFCACAA8CAA8CA %A8CAA8CAA8CAA8CAFD17FF7C51262D2C2D2C5151A8FD52FFFD0DCAFD15FF %A82D2C262D2C512C2D2C2D2C7CA8FD29FFA87D5258515858A8FD1EFFA8CA %A8CAA8CAA8CAA8CAA8CAA1FD05FFA8FFA8FD0DFFAE2D2D2D512D572D572D %5757572C7CFD28FF7C51262D2C2D2C2D2D58A8FD1DFFCACACAFFCACACAFF %FD05CAFFFFFFFD047DFD0DFF2D26262D2C2D2C5757582D572D572C7CFD25 %FFA82D2C262D2C2D2D572C572C2D7DFD1BFFA8CAA8CAA8CAA8CAA8CAA8CA %A8FD04FFFD04527D7D7D275252A85252A8FFFF582C2C2D2C577CCFFD04FF %FD04572CA8FD24FF2D2C2C51517C83FF57572D572D2D7DFD1BFFFD0DCAFF %FFFF52A8522752FF525227A8A82752FFFFA82D042D2C2D83FD06FF572C57 %2D2D51FD23FF5126262D2CA8FFFFFF582C572C572C2D83FD19FFA8CAA8CA %A8CAA8CAA8CAA8CAA8CAFFFFFFA8A8FFA8A87DFF7DA852A87D7DFFFFA726 %2D2D2D83FD05FFCFAE2D5757572D57A8FD21FF832D2C2D2C57A8FFFFFF58 %57335757572C7CFD1AFFCAFFCACACAFFCACACAFFCACACAFD12FF5226262D %2DFD04FF832C572D572C572D572CA7FD21FF58042D2C51A8FD06FF7C2C57 %2D572CA8FD18FFCACAA8CAA8CAA8CAA8CAA8CAA8CAFD12FF7D042D267CFF %FFFFCF2C572C572D572D572D2D58FD21FF272D262D2DFD07FF58572D5733 %2D7CFD19FFFD0DCAFD12FF5226262C51FFFFFF832D2C2D2C572C572C572C %7CFD20FFA82D262D2657A7FD04FFA8A7582C572C572C58FD18FFCAFFCACA %CAFFCACACAFFCACACAFD13FF7D262D267CFD04FF572D2C572D572D572D2D %83FD20FFA8262D2C512D57A8FFFFFF57572D572D572D2D58FD18FFA176A1 %76A176A176A176A1769AA1FD12FF7D2D262D2CFD05FF7C7D7C572C572C2D %2CAEFD20FF832D262D2C512CA8FFFFFF572C572D572C572C58FD18FF4BFD %0420442020204420202076FD13FF272D262C7CFD07FF2D572D512658FD22 %FF262D2C2D2C57A8FFFFFF57572D572D572D2D7CFD18FF76204B444B204B %444B204B444476FD13FF7C042D262C7CFD06FF572C2D2C2C7DFD21FFA851 %042D262D2CA8FFFFFF582C512C572C2D0483FD18FF4B20204B2044204B20 %44204B2076FD13FFAE52262D262D518383A8A7832D512D2C58FD23FF7C2D %262D2C2DA7FFFFFFAEA857572D572C51AEFD18FF76204B444B204B444B20 %4B444476FD07FFA8FD0CFFA72D042D262D042C262D042D262651FD24FFAE %2626262D047DFD05FF582C2D2C2C58FD19FF4B44204B2045204B2045204B %2076FFFFFF7D7DFF52A87D52FF7D52A852FF527DFFFFFFA852042C262D26 %2D262D262C52FD26FFA8042D262D2CAEFD04FF512D2C2D51FD1AFF76204B %204B444B204B444B204476FFFFFF52A87D52A8FF52A8277DA87DA85252FD %04FFA87D27260426042604517DFD28FF7D04262626047C7D7D582D26262D %A8FD1AFF4B442044204B2044204B20442076FFFFFFA8275252527D52A852 %27FF52A85227FD07FFA77D587D58CFFD2BFFA82D26262D262C042C262D58 %FD1CFF76204B204B444B204B444B204576FFFFFF7DA8FF7DA8FF7DFFFFA8 %FFA8FFFFA8FD3AFF7C51042D042626587DFD1DFF4B442045204B2045204B %20452076FD4DFFCFFFA8A8A8FD20FF76204B444B204B444B204B444476FD %72FF4B20204B2044204B2044204B2076FD72FF76204B444B204B444B204B %444476FD72FF5244204B444B204B444B204B2076FDFCFFFDFCFFFDFCFFFD %FCFFFDFCFFFD2FFFA8512CA8FD7BFFA82D588304A8FD2EFFAEFD4CFF27FF %832C58FD2CFFAE5151A7FD4BFF2D517C04A8FD2CFF047D7D2C83FD4AFFA8 %7D58A8FD2DFF2DA8CF047DFD7BFF26587D26A7FD7BFFAE5158A8FD7EFFAE %FD42FFFF %%EndData endstream endobj 966 0 obj <</Length 65536>>stream
+%AI12_CompressedDataxœì½ë’$Çu ùùµ?dFš-ºÂãܵ5««³CF3š•ÁŠÝ°G}ú"‰óôëçò?žÕ€@Jfè$Øíž‘™áŸŸãá_Æ_ý¿ùò³«oÿðøÙôl¸8ýÕ_ݼ{|øðöݯ.´öâóW¯>¾ÿðNª~ñÛ_^”úªú¢«Ï÷¯ü…ÿõñÝû—oßüJŸz6Ö'ïeë_üõËW¯ß_Ü~üÃÛç|üðË‹_ü²>÷»—^=Ög?üéÛǯ><|óþÙÃË_ò®u7·êÓóe™.Ëp±ÿjX.~óëúüõÛo^¼|óÍõÛþÕÅgã¸]|vež.Æi®Ïÿ§—¿}|þ¢õÙR_¶×ÿ/óøl9†½¾zz¶Í{Ýâöíó¯ß|øÍ»·Ïß¿¿yûêí»÷¿º¸ùÓÛ‹_?|SŸy¸øï¯^½ý§‹ëWÏÿ>mrÿö͇úÒ_ÿéݡuûÏ~ûøÍÇWïÒKþæññÅã‹ï~áÕçËW÷/_=ÖcõúáÃÅ!Gõêó2~uýñå«óñõëAœå»]}>}¥Ÿî÷ïëǪŸPþ-ÕÛWŸ¿®5_>~øP¿t}i™ßþõuþFµR¿ø»úÖ/µ!ëQþ¿ôݾ{ûíë‡w_·ýl9äh­£üÿ¬Gn®5öºß=¾þöUm=°óPŸåÕñ/Uý>~è§Z¹,ãÅgSÝÉ:mÛÅTŽgó¼Lõ;MϦuœl›Ö
+ÿøòñŸ~uñ7oß<Úá¹z÷áË—ÿ«~á}.ÏöýØ/–cy6nËjÏÿöã«Çw¿óRŽ°Vv˜~ýöÅã«Úc/÷¯ôè裴ÿ·üîáÝ7jïyûêãíÈûàOÕfø/z”n±Ø|ñíã›ß½ý¯úI?÷åÙ4-óEýŽã°×ãQ¿á¸^”e?.Žµöº]ßlÞ†‹iå틾¹:ÙŸì·ÙäOmÅßÔvýâÝËo^¾ùÕgSíèµÃ[‹ÿõ»—/ZƒoãÅnÿ§_èÙžþ;øÏ>y=><¾ñãR;ÚͯSÇžýúËú¶wo^ܼ}-íñ^ιÚcÞÔÎôêí7ö\ü[Ÿ©›üöôw§é¸ü‡o?<¾¯ûzõX¿øå7ïþññ¢ŒûåÕ‹—ïê3ï/¯ÞÕ§/ož?¾¨\x¸¼{xþñÃãåß|¨½ýñò ^vºü}lñ`/yн]><ù®v•¯_=þóåC{mÿ ;ÎÎuËÓå£mú˜6}ŒM_Úî_Úk^¦×¼Œ×¼ÑÝŸ.ßÚkßÚkߦ׾׾µòÑ^úÑ^ú±½ôtù1^ûâá›oß]¾¨ðññòy=Þ—ï?<¾{%ßâýãs醗øXùùáòÛ‡wr¾ýãeÝâõÛxUÒ;=™ëÞ^\>ûmÅË7üpYOîr:_Úgˆ·{öæí‡__^Ý]~ñþÕÃû?ž¢êÛJ÷×/ß|l/âï?=¾¹|ýñ¼úôäuüýöÝ‹¯ë®^¾y”¿~xÿüã+)ð‚‡ZïïþßË—|ñöŸÞ\>þóóW¯õŸµw½|þðªn[}]Ïè—ož~Œo>ÊøòúmN¾þÐJv$*¶_~+ßüý·Ï/¯¬1®¼³ù_w—o¥¼yQ?ÒåãkýK;r=ĺS
+¶O-µz«|ñò_J‰ƒÇü¿Ç¿¾~÷`-z÷ñÝ[ý¤z¦ÄçÖ’îîtùõËú…½{Ôw¾ü¶¾ÏÛÒA´­Ûyö‡‡÷ñµP_úáo?¾¯]äty•ºè]ú÷•õŒ»øpwvh>·úÏswý<^ô¹½è {Ñi|ï/ì¿·Wü>ïæ÷öÔ i©÷ï_^¦­­!^?<'ý½Ž
+éÐýòù§ÞàÏÇ;ÙsÆ›ÕðîÝcÛ^‹üýº¥žÙ/ß¿n½1ÕüFÈóüÕã—ª!Çëyo·_׬&6­½{ó¯Þ~›>dÔÔ!ëâ¿=¼ûöûv-ÍT‰ù¢ž!z>·Ãøöõ·’÷]|ùLJoõã~øã½¾òËÐ_=¼©8×úØ¥à§ößʳIV;]„û}Ÿ}ö=L\.®ß¤§ÿZ°\ǹ_É®ß<êg°š‹òËÓ'ê*sÇ‹ë5àþ¿Oƒü)Ã4ÌÃ2¬Ã6ÃÕp=Ü wÃ})¥ò¼,e«ÇQ®Êu¹)·å~Æ2Žã4Îã2®ã>ãÕx=ÞŒ·ãíi¼ï§aªÙñ4O5_›öéjºžn¦ÛénºŸkú\SÑš¾Íë¼ÍÇ|5_Ï7óí|7ß/ÃR–q©iв.Û²×íj¹9-·ËÝ:¬e×i]ÖuÝÖ}=Ö«õz½Yo×»õ~¶²Û¼-ÛZ“ž};êãj»Þn¶Ûín»ß‡½ècܧ}>íó¾ìë^_·K.xµ_×ÇÍ~»ßí÷GýþG9ê7:¦£~¼c9ê{Õýí‡ü¹:®ëã渭»ú¸¿ªGëtUÍU=WÓUý>WõS_­Wõ\Õ}_Õm®äÏu}ÜÔÇíÕ]}Ü_Ý_ú¨õº¼ø»«Óu=(×Ëõz]¿ƒ|¸k}ÛkÝǵü¹©Ûú¸»¾¿¾¿©­uS[æf¼©‡ùf–Çéÿim;zëZûîÑ·Úƃ¶òTÒÒk´5­}§í-->¢É·®Ñ­Å‹·ùâ­¾OGjyiû!µ½¶þé;šIàz¹‘°Ü×>@/˜½œ÷„»“wéSí¹K\E—ÐNÝB;…÷‰Uû„õ
+é7§Ú-´c|²k,Ú5¬s\iç¸ÑÎq×:‡÷IûFí'í»v
+ë·Ú%¬CÐrëÚæ7­µÿ¥¶í[—ö•Öµö]»óÙÛøä<~¢ieÚùûZúÖ[ºœjc·¦Þõ¿óÓ½oñÖæ´º¶»¶|m÷“7½5þyó;
+´ý Òä¿Ö¬'€‡«“v:„q‚.!bÒNA· cÐ5è§Ú=¤ƒXG¡«´ÎK¤Ã|OZÛþ„þB;,ñоU{ªôÕ9ú«õXé³ÇÉ;í9”æ³ÎzƒÏ¬½Tú¨QHú¦ôKé•Ûtœj‡”î(Ž g­½OúÞmíw¥ö¸¥öµ£ö²ÛÚ»ŠŽ+›v%éF÷µûLµÃ쵓Ülwõ#Nûrªàп¯-;ÕvÜkËÝÖ“|¬'öZÏçë«ÛzõÌÝj£Þ\ßÕ¯3Ý,µ—\ÝÜÜÜÝXÛÞßßßÝßÞßÔ3ùêþ¨g«}v¹Ÿï§ûñ¾Üw÷www·w7w×u˜8jçÚ*Ö–»¹t¼+wÃíýíÝíííM¥ÿ•ôšSåÓv»Öse®'ßx[n‡›ûún·õ=¯ë;õý·zz,uT˜êQn†J‘»J“›J•«úI÷úy×ú©çÊ: ®‡
+£»
+¥›ú•®êÛë¹²Ö“r® +͆ã¾vÕÛÚm¯k>êØêáXj'Ÿj‡/ÇPχ;åæM=K®Nõ¸íõè­õTšë¡ë 6TþÞÕÓ‚Wõ„Ø뙹ÖC>ë9[¶¡žÉwµ)nê¹}Uf¯Í³ÖFškSU”u¨\¸«­wSÛðª¶ä^Ûs­­:׶k ó}eÌmeÍum÷Cù³V͵7ŒµOÔN8ÝWTÝÖ^r-å¨çûVy¶Ô4Õ~T¦a¼¯½ê¶ö­ëÚÇŽÚÓ¶JÅ¥ö»©ö¿2å¾öÇÛÚ+¯ËÕ¿EÛ¶e¯k¤òÓ´¬¶«4ëé§lWiÖÓm×ÖªÖ¨§Óª•;{Ù~lÛ~²uÿÍÏÛݾÿšóö{[ødMüÓµ0çí8skÛÎõÕõ»š É\Ô2\”aš/OõUª¹~*VŠg£\Ÿ»¾4ŽDë‡ehã'2´Q2´92´E"%5¶³Aòv¸×üL†ÉÑc»M‡ÊÝc÷ëúoå‹z`'ƒ¦›§z$dä”±s×ãcÞExãY”7i”'#jŽôöR¼w’Oƒ>yX‚7i{-.Z (#±ŒÅ׳å*·Êãޢ“†Žò°}-,J¸¸iȸkØhÿx
+îyä—è7Ú®´X,ÚôŠs]ä$8ltöØŸ"玞G7JŸÃé³iΚ]i ÖóÞÛ6“Sw=ÕïayZ}»zPzd ‘¡F›Iûl>è #ÃŽ <2ôÈàs¥Ùç®C B2 -z~ÙP4ž´× :"ɘ$£’ŒK22Éؤq¥„o’Õ!J)¦fíí£>.ƒYuÐ:é¸%#׎^2~É&c˜Œb›Žd«ž}vÎO:¦ÞmÛîu|“îö¤ÃÜ͵ý¹ÒáîÐ!o×aO¾U¿EÀYÁIBæRä¡3,’ZKàs¯Ãc}h_õ}ßøãÖwñ°d“+CL±Ø4 É2áâßl‰Çê-{<Žx\ŃÏâNõ¿Ûô¸‹Ç=Û!%=ÆxLé1Ÿ´ í±¤Çš[÷Ø»Çqþ8i_ñ‡Ô'4Ÿž¨›¾c^†©ºÑSïõôStÅç`òäÜ•'Ò5‰Ö™—âóq2S.§<ãò½ó-ÝŒKš[[¼M­ ¯NÞ`·Ö.Þräí0ÛAµÃ'ï+ìFÏ79ïîå,Ô³Q˜!§ç|ªçé¢zÀZtRG¬­I"5HÉøTÇ& ,ôµ˜hÖÁFb¡kZ–J €NŠŸ+&†úaê™XãŒÍ‰¼¤ì6¹Tóó˜^5/¿©ß×BŒ–‘Ë|‘ÄA0|{’pAcËÉ7n5/·‰-ÅNFOO8)N¾rÆ´Hy ¢8KA¤Òì/;cS+[[ _iójãjÓZÃ.Þ¨‡7¦5dÑ&œµå¶SÅïQYs]?ëmô½„k[Iˆs¿Ú7=)ßìS$ý,=u0½¦TßSÃ3´¹ Ìlz®f·)$#›|²ŽéºíäAá³v>o—;°ž„9¤ZÈë;îœ07š©\ë¹}¥çø¡Y‹>Nž¾XA 1k01i@¡!…=dŠNƒ‹;Ÿš¸UÛˆrE¸±k³錟³¢hÒA»† !ˆ%A·ŠH0r­³dפHÓ¢“gF‘ÉC£”§\{žd™’Å,–/YN¬‘‹'Mw'Í›,sºò×ÒÓ§so2ÎëCGüáúì±ûãÐÿ·i¹ú8é_s÷`Ïfòòü^ù©¦ ÿŒ?ÿ{vh¼¶Œ«]‰ž%Ó:4À¸ÑéÈQÃ:AŸ¤RrVßi5iÒdés‘:'~ªç\û²©p;¿f’”læJ§%¹ä5ëÔ¤ôGGïtzÒÆPFÐë“ÌSž žŒœ:j¦1“ñ2FK¿J!gçâ#¥“2R2J¶1ÒFH»kOçäLì<9<'> ÎÞÌÏâNúË
+_V8¦E…ƒõ¾’°Žÿ' n<,¸ö¶dõë¡1„]£[5²˜µ…íaë`ƈD$*©Éæ` Øb9Ì/‡¹ópÆÅø(ÏׄOÆÉ~½>{¤Ñ÷¤ –úÇùŸ~l¿ïGþ³¨ < Æ>®Ð5QýcyòHË)þ¹=yìùaK¿{Ùáw,:L8nº‹û‰ž|úúlÉa
+GçXFq‘~ÇjC¥>¥‹öyÚ÷,¦è–¢µÅh¶¾ðæ”–X•fëÒVï(Ú!ôøÄòþ¼ÀÿJÇÖ›65í«ûóâ±óUý¾xìäSÕ?hõØw®öh.ÊICïZðáK>b2[¯g¤ í¼îÃW~œ|ñG7«­×ºÛĶNmŸE?rÀý Çnâ‰}DÒ‡?n?ßEü9¿jÐ~gÇï£F¿yûêï.nß~à7@jÌñ´îb|VÆå¢<Ûš ÊEq)nr]z]êWü¨ÓWßêüCñ_ùÛ?iñ?×þÏZùOóů/þî /´þo[ÿò=±ã×µª«ÿ5þnZÓ€\•·{£ïóÅXð·ÿÖŸñk?zG/ÿôœ¾ýZžmò‰ëÆëR?Ük¯;¤fÙK¹ÐWÚ,˸ÎZž×UÊóZ»ÛsÛb=|=Ã:NòY¼¬¯ݦîKßeš6YêÑ’*YÖ,/™÷q–r=ƒVÝd²öáíâƶ™d{©+¶I R¤X?Q±]ÔS®–åCø»ݤjÙ¦Q_2¯»–e¡„–í]êâËÔPh•ºš¼ìúšJ9)×fÖ/·”Aߦ+{€¡žÚëQþ´ÚAÛ')WHlR>ä'ky™7ŸÚª“ÕMG¥G-O5–ºX÷ú—UÊË2mZ.›l“¾bßyAÝÙÁ0Êñ˜êZ7-×Qζ˜êá]©+è¯
+Ô0K¿â!ãž³žÐ{íûV^´¼Õpƒm¬ÅêW¬¹¾f·CR75ö웂ÚEœ’ûhU Kô%5¨Ðò4Z^ÖÝ€V{¯ls_ÿ[æz,=è¤nœ‚tR,c#]-5qëH'u£}bíÐK=Ö­‘NÊe^3éjÕ¾ÎtR.K#”§¥'Ý"§å¤“—ŒK#–‡Žtº×­‘®– ÛN:-/=é¤N“NÊÇØH'ûœ§žtòç¡‘NZi¤«åÑɤ«uºtµ¼ÎS#Ý"'åÚ‘nY*PfH·È¯½tµ<GOºZ·G#]-ïãÖH·Ôèk(éjÕ(? éj¹¶#<¿=éjݤ„wÒÕò²­tµ¼KOºZ·KnÙž õxC:)n¥'Ôík#–kuµ\äËfÔIà
+ÔÕ²\÷ ÔIyzÔÉ6ÇÐP—ö!¨“â´ô¨“º25Ôék¶†:-¯=ê´nj¨“ò26ÔÉ׫§`‡:9ÛÞP§íY꤇ìSºÚ‘]Wi¨«E™x Ôi¿+=ê¤on¥¡®–kÜÑPW˺mFôqÙÔ)[¶†:-ï=ê´îh¨Óófj¨S ê„5ÇÑP§å½¡NÊûñu5Ϙ§£#T-먓ruR.SéPWë¦u˜uR†=PWË£…ë®Ö”cÛƒtR®í¤“òºéæÈɳË1ä´l ÈiU™rR.(…œ”{ƒ€œd]ÇQrò‹î”qRÜ," ÆÉ7Û¦#§GkÞƒqµ¼J•WëöÁê”qµ|Ô*7ËÙX»vb\­š‰ß rµ¸X•qµ¸­BãjÝQ³÷`ܼ?½(WËÓ4/äjÝâq–B®–õØ
+é¤ìçNnÓC7éäDí„RÒm’· ƒt›æ­Sn×¼µ‘n×¼uìH'sü»ÅFJº]òÖa Òíš·vA]ÅSí¤+¨;4q-:™ª? kºC×} Ôš¸. uÓ̵Vu™k-w™«<ž¹–¡Ï\ËÐg®µü$s-C—¹–Òe®R<Ï\¥.g®ZN™k)O3W©Ë™k-w™«”Ï3WÙ&g®iʺò4s-¥Ï\õ5)sÕòYæªu)s•rÎ\Kyš¹–¡Ï\¥=å«ÃºãiâºkÞZ@LÀ¯FGEÝþ4oÝ%-GN§Ë)H·ë–sG:ÛF Ù”t»¦­cnš¶J9§€NΚilÝ®Yë˜A·kÖÚ"º]³Ö)@·kÖ:?¬õÔUx™tƒæ­s›¤$Ú¶-X7Hæ:ì}\§?s´·ÜuÔUÓnÜu0¬‚;Ç6®wƒ¦¯@Þ ùëñ`'=¾vÏ´4ŽŒ;©+rúÁ»ÁŽh à Ò
+»1ˆ7ØAlÈ“~9¬÷*óÉc·¥ÏdMd`J½A3Ùqì šÊ–µãÞ ¹¬ì ðÉ×UâFŒ§Ùléb<Éfç _é²YY^4YzÜB<If§Æ½Q“Ù¹e³’ÌÎ[ŸÍJ2kl´lVQiÙ¬$³ËY6+ÉlŠñFï×–ÍNšÌ–~ÊN“Yòdš³ö#?J:g'ɬ RmÎN“ÙÒæì$™]–6g'¹Ñ´ösv’ˆZ²9;Ifž6g'ɬ•Ûœ&³S›³ÓücŒ9;Mfç~ÎN’ÙmisvÀƒ9;Mf§~ήOf'Íe[2;=Íe'Me÷„L˸µ¯ÆZŒ×å²ÛaÚ‚{Òí–áØ;òI眎Š¾A“Ùq ö šÍÚ<`ÀON·ŠÌA?9Ê<¬?­á.P*E‰f
+šÖ6
+>w
+^^½ûpûRïoûðîO¿ªU¿Ðºö¡_^\~ùAnãzñ‹ëë«çÏ?¾þíÛzÛÒ_^üŸòÂÿ7½BïÞ§÷ü”û÷ÉýSýEWßù¢Ïoí%ÿWý¯þï÷'VŠ—¶R¼þC–†¯¿øåÅßþ· £¿8}r]ôÙBs9KÏf&¥*ÏLꉼ¦uÒÇÓ™I¡Ò:¤uÒr kHë¤ó™IÅÅ––Iý̤”Ïg&í´;6ËžVHOf&µ*ÍL*³Ò̤2îlfR8§c++¤nfRŠç3“òÍò̤­43©;›™”×æ™Éúw73)<:›™Tµ™Iùž‰årÎg&åHå™I!Iž™Ô¶8›™”&Î3“ÚÄifRϧ³™I9éòÌäVú™I9ãÏg&139)&*Ì#ŠöœÏLJ]ž™T>¥™IEØṲ̀Ôí¥E±‚½<3)åó™I©Ë3“º1¢X)žÏLê[o-Š•rž™´mú™I­K0×·I3“rDÎi®ìL3“²¿<3)_ëlfRŽF¢¹¼<3©ïlfR;gš™”rž™”6;Ÿ™Ô¶N3“Ú_JZ"}<™Ôº©Q<aÆ–HOf&VifRËifRÊyfòÁ¯Z‚ÿPzËÒ‘E»D /ZGø@"ÒâóÚ…íЧø\C1èË:ÏK
+Ðk×)vÁ¬èã2Í¥]`+l슓è5úì²w ÐësÚ‚§’*Î)N=eÉqú8l¶ aúzø)O˜¾.ÃÙĄ࢞œKÓw÷#L¯§‚å)JŸêøµí)J_†á°‹'Déëæó9J_6‹}m¶&çÊÆ£WN÷󰫤},ªõ(}/‡Q<GéÇa3¥Å&^ ÒÁG«¤¯Å†eÑùɆ£ëäØYŒî“/„è벧«ê5gœmj7‡èûla¼‡è3S·¢¯Ã1Ÿ‡è,x DW̶]¿j¡/Ó¶¦
+NDÔµ8v²iD­.éQ¸FÔR7»ÃaþiDØZ.sc€5˜¨|Ûµ”K75¢ mSRK„‚„ÔúËÐ4¤–rí{Ì 
+»?-MC4N•“f9Fe‰ï²Fe-ò8÷Ûú‰Që<”À¨ÄÇÛÜsTNÔ­4ŽÊнO£²ÍÊ£rÚsƒ©èÛGc©ÍGm,•ºak,¢¥¢oïcÏRÑ·í7–
+K–©ÁTôíµô0-LåÍcƒieÈbõ ¦5D˜ÝW˜Š¾½SÕ·µƒ©úÛë0•ïå¤TšÊ¹=¸ Måpí~¸ô´¨áR TŽÿæ/„oýˆ tÕå]S T{°¡5Pªö¶MA©ž=GTO¸}ìHªòövIÕÞn U3{.HÕÞ>ö
+:-{šâ ÓªeÒéÛÌGNôaìH'GÒƒ^%6ç´餇LËÒ‘NzÒbXRÒÍ0×I§=oÚ:ÒiïœFH'EÛ«‚Núó¶LèDÚ>æ1@§h9–
+d¤“×X~c¤+-ctRµ´”Ußfn)«Jê=çê܆–±jc£”sÒA6ÏÜáœt¤ciëtØzy8§ýnê3Ví›–-KŸ‘â1·”u’ßÈXú”Uºød
+:%ËÑrÖÉ—úgÐiÍ(è´¼Œ:EQÏ9Ými9«–‡–³ªç]žä¬“.ÈÝ:Î_'
+éÇÜqNä`Q’rN›³]Þ¨ÅRæþú†t¤É˜d˜ƒ·`N:žMr6ÌùOš‚9é
+«æjçY,_n˜“¥v­Â0'`Ù·†9)[¾Ü0W¼¹À\ñÜ Ì¿@™9§ XÆ9‘ºmrÞ8W<Aî97꺄5snäFsRÖlÝ@§"¥Š:ñ³Eœ1ÐIi²ÀK@'J³_½ÐÌÓ:èD…Þ×–¹ÊóÃÚg®bSO[Ë\MùžtZ.}æªûm‰«JÜ6骠SKÜ&ntR§äwЩ9>µK¹òÑŠ…w:ùÆ¥´Äu´…Ñ:‘\ç£O\U„=æ
+:±¶!²œ<bm{ k{[æ*Öö¼M:q¹>èFÑh™«jÚ6#  Szìçè¤niñœÇ–¹š]ÝaNìr´ÄUÊÇ8椼•þ
+„Ô­¥%®±Çœ”‡µO\õ­- Òž­¯±GA§å­K\µjn‰+®8 SGýèW9óÑWmN£”’NzÈb—$‚tÒ“¶¹%®£28@§oìóV霳ýê¯v¿ð蜓î|Ì}Þª?L0MÁ9ËÞòV-¡ƒszš4ÌiÑ®{(æDgáÜèë¦ÀÜ8ÅõqÅÜ8ùXßc®,âvkU¤JÃXÇœ”5U·ïjBw†œÔLÖ‚›j–ºß!'E› Ɖó¼Í턔ǥ­T‘ò¼ô+UÄÖ¶*âTø¶I?Eœ–‡~µŠîÖ.'(ãÔð¶ËFÊ8Õ¹íœ ÆIݶ¶Õ*&ŽÁ8)/Üãä:;•qÅÍƉ˺ïýr•¢“‹[0N¼Ù%嬢Ù[¿\Et\q`aœÛÆ/E\‘Y¿^ âj¡—2®–u医”91N|lòrƉ¿=ím¹Š<ïÌ ÆÒZÎ*ºöî±› ®–+¾ú«E¦2–¶ZEåk[y¢ˆ+$ q…g\!qƉò<Z~Sûzo«UŠäVe ÈI¹øe* 'uÃÐV«Ä>rRž×~µŠ¾÷<äô5~mŽmºÕ*Z5µÕ**OmµŠ|=qƒ3äÄØÞ÷¶ZEÛsrÒE»~+ò‹žs[®Rà­SN»ÞØ/W‘î¹ÛJí62>5ÌÕò0Mýréå‹]DPÌ)X¶¶\EË–,æôL±LV9g¤Ù‚sJ¢¡_®¢ûÚr)ûl圖‡'ËUô·'·.œÓ™ÍiÎÉŽz (œ‹òØû¼UnŸ²Ûijt!ÏH'á~y*P‡À êÄÞ^사¢N~ÁsÒ@œ“kK[7Y9;7ÔIy0Dêd·{iW[夆vå;£NÅñc Ô‰Ÿ=n-oÝdÙóÒç­rò [@²²¶Ù9\÷µ¿àª“‹KË[õg)§¶2OÎÈ͸¨“u…óØ.DrtZÞ*?Xz}4w°lÚQ' Ž–†:Yq^ò…ñ±·±å­âkÃdEÝà‹z2êL=k¬“ÅéëÒX7´ ÁºÁ®ÖÉŸMëŠÏ5fÖ©ÝòV-—–·–âSž™ub_ï-oC{+Kc]-/ÃÒ³N~5khykìÖéÊâuòÖ–êä%-œ³-º¼U«¦–·ª:>µ¼µøOsu¤«rÜ[Þ*Í9m~N~ qÚzÒÕžä÷=PÐ _·Ò”HÇ+{Ÿ·Êìx±ù8é42™î<UÐÕþ¼ùª™
+ „C!É„C!pômç
+I&
+‰ƒĹA’ ‡Aá0H I&ö„à q$™q$0.íC‡A’‡AâŒC q$™qn€8 ‡A’‡AâŒC q$™q$0Æ!dÆ!
+Q³DŽ³4o¢f‰Ô[»ËŸ®9Ú]þ¤é&š[!º®dowù“²ßoDÍ]Š´÷wù“ºc˜/Ò>67@Vëxrõx™h•¾9í.Òu§£ÝåOºö2ÆP³DW0í.rRIØY"K“äÞ½¾š%ºÖèXC-™»’«%²ðFË;ª%R·´[’ÈüÆ<j–Èb&Y¾Ó~8–[[ªY"å²·»üÉZžµÝ“HÍ]ß3a–ÈBª Ó¤hYíFßƬ~Cý‰4WK¤¼¯í.B¡Z}«Œ<ök n–HyÛ]þfÓü0K:ŒºYF], ŒºXÒaÔÅ’À¨‹%QK2GÝ+ ŽºWu¯¤ã¨‹%ÀÔ¼’`©{%™¥®•K]+ –ºVÒ±Ôµ’`©k%S×J:˜ºV0u­$`ê^IS÷J¦î•
+®sÂa”dÂa”8áJ BI&B „C(q%‰qø$@ŸÈá“dÈ!”8äðI€>I¢: ”C'rè$™rè$PF@9t’Œ9t0‡NçðI2èðI > ¤Ã'I¤sÄA‡Mè°I2è°IâK¸MèÜ&ÉœÃ&sØ$p›$s›Îa“À9l’ :l@‡Nâ Ã&ɤs›Ða“
+  C!É C!t($€‡$ƒ‡Ðá
+üF*×2…4"ðŸ’5"Ëà]ïPkd°…õ¼Åb×eu±Úˆ”[¯ÚH-ïËKµ¹7™Ï!k”äœÝ#A­½×Ì«52IÇ°FäÛj÷YPkdÚÏnù`u8/Ú åúø:OaHY.Jj ìÚH­ÝîÈÅmYM7"eY¿í›è¸$uî|¨7"e•(ÜÑ‹ì.&¸6"UûPB‘+yø È·Y0\‘o<.sh#ò™üA‘ç‡P@Ô‘ªÍ ±Fä ®f‘¨62ùÒßFµi ½{¡k#µ¬kÐF¤7gtåCšs_ÆÐF¤Éýf#ªLjOÄ66í7¸ÛŽ62Èe­­y#2Ì7ŸÃ¼‰íý³lv©}ÚcýQG ¯ØDµ¹XxŒM‘ëvÛÑ´91÷¸ï‰i#EV½OM©G\pŽ6R¬±¼˜6"×·§ä™„9š7RŒòÑ=gÝÏ2'm¤Ø’¹ÐFÒÝÉB‘…ÃÑ´‘â¿ð6âA¹ocÚHý†Øhª[ÚHÉÞ˜¯ªuzÛ7¼yͱ4oDŽÚ_ÂIE£X#ŽQ¤‘ŒQ¤Ç(ÎÅÉE£H#pi$si˜º5K±F2K] –º6,um¤c©k#ÁR×F€©[#LÝ ˜º50uk¤ƒ©[#S·F€)ÖH†)Ú0Ŧx#™¦x#ÐT½PŠ7’PŠ6JÑF@)ÚHF)Ú(um’¢$’b@R·F
+=£ÜìÖHÆÜìÖ˜›Ýs³[#t³[#nvkÒÍndÒͦ
+ÏåæðÜ-‰9<wKº9<—KbÏå’˜Ãs¹¤›Ãs¹„´ÖÝ’ˆöÜ-é¢=wK"Ús·$¢=wK2
+9ì ‡>åÐG
+å°G ö”Ãù¤öH¥ö”ÃrØ#•rØ#P{ÊaÊ!@9ä(‡<R)‡="Ê!@9ä‘J9ä(‡<åG*åG ò”C©”CrÈ#P{¤R{¤”¸¶œ' ‡=ÂrâGD9¼‘¤œ¼‘å¶lv!}œ‚žCNÞÈ‹ròF’r[’8(ÞÈ ròFrGrG^“8’“8ää¼ 'o$)'o$)'o¤RNÊGRNÚHRNÚÈ‹rÒF’rk*hÒÈ‹r’F’r²F’rmuP’r²F’r²F’rn¼'k$'mÆ¡TÆ¡ˆqX#0k¤2kÆa
+9¬ ‡5ä°F*ä°F€Ú“6R‡5ã°F`ÖÈ7Œ“5òbœ¬‘d\X#‰8Y#/ÄÉIÄÉIÄÉ©ˆ“4’ˆ“4’ˆ“4òBœ¬'i$'iä…8I#‰¸F’p’F^„“4’„“4’„“4ò"œ¤‘$œ¤‘$\Ë<îºÈƒg'—œk·Fqa@8 #®/zm¡*xþh%¾„Ãqø"qø" _Äá‹TÆá‹À8„‡0R‡0ãFÄ8|‘Ê8|‡/ãðE
+ãP=`ºŒC©ŒCqeJd¹îâ$‹@8l‡-R ‡-á°E ¶He¶Œ“.’ˆ“.òBœtkW‘
+·E^ˆ“-’ˆ“-’ˆ“-òBœl‘Dœl‘Dœl‘âd‹$⤋$⤋TÆÉIÆÉIƵì¿×e‹TÆuÙ"0®Ër}Ï6bB®Ër]¶ë²E
+äºd ×%‹
+¹Žâ"ÈuÉ"@®K©ë’E€àr]¶H…\—-’ÛÊr]¶H‹"¢\—'åº<‘J¹~ÐèÂñðô! ×å‰TÈuy"@®ŸIbwº<‘
+¹.OÈu‰"@Q¤BQÈ!Šrx"ròD`žŒ“'R‡ââÐD@šHEšˆ+ûˆå@\©ŒCrX"@K¤BKÈa‰
+9, ×¥‰@¹.M¤R®KåzX"@®Ë©ë²D€\KÆuY"•q]–Œë²D`\—%R×Ãq]šˆë{®”SL1O q}ÏypG\—%ò‰8,‘Š8,‡%â©€ÃpX"
+8ì
+IÌ…’”k«’”“’”“’”“ò¢œ¬(‡åÐB*åÆ2¡çH+Èa…TÈa…
+ùd\Z!ri…@¹´BÀ\Z!•si…
+¿´A :ôK¤à/m
+bÿõ:óî‚X̾ȸ Ï¿ýkƒ bÿ~Zû¸ Ö£<â ¢/p‡ òü{³®1Â¥;VŒA±Žëùä.ƒ<ÿ~nx–Ë Þ× ‰Åò¬Iëþ׬ó|Hø…» Ö“±N.ˆõb¤Î¸ b=”×RE [º Öñ÷%úä‚ØpÃÜ !Äb6))#Ä~b(ŒÆôÿ"ù¸ÄÞÓñ1‡íL#ÄG:ÞBˆ—ô–BˆéÓîM!ÄÎf"*H±~™­~…bÿ¶a „û·=jþ !v•ìž „ØU´9-Œï/®ß¸b±!kÄf´íæX§#Äî]?Öê$#º¦þ£„Ø¿µŠˆ+!öŒ<·–ßøXŸÅ\Zg·µ‹ï”Bšå-ÿŽ/Wû<Ÿm¬¥Fìñíù›è2—Ÿ˜boÀñlŠb¯™5lpBì5œ[.h⯤õÎ-!'¤ÍXINˆuæo9!ÞáçÆ¥Û…ÖÛq)ÄD¬C’Ïçáû9cÕwBìŸ[¼lî„ظʱÖr'Äbϧ'3è8"Íÿí>¢~CÁ‹fã78!öokúà„Ø8¯ë%…XÌZ‹H!öï+öñ,*çYÿÿÁ © •’ •He„¼@*#JIJy‘TFH’TFH’TFÈ‹¤2B§¡„$M¥„¼h*%$i*%$i*%äES)!IS)!àTFÈ §2B§2B§2B^8•’8•N1B*NÑBÀ)^<Å ©<Å §î…
+RÔ@ŠHQC
+H1C
+èÐE
+ç0FàƜé¤Ãt2Ft2F^ “1’ ƒ¸€NÊÈ tRF
+; `‡A’°“ARa'$a·-,;ì$¼`'$i'$i·­)‹¤’¤’¤ ’íd$íd$íd¼h'ý#i'…$i'…äE;)$I;öíB"yÁNIÂ.$’d]ËNËY~a™Çɺ–s¾Á:9$/ÖÉ!u8$°‡¤²n¬U¦…C"uH$uH$B ¨Ã!©¨Ã!u8$ ‡¤¢‡Ôá€:’Š:I$‰Ò!‘|.’‚ºTH`]*$‚]$•viw)À»H*ðÒ xi€¼4H*óÒ z©€½TH*÷PHà^*$€/’J¾TH@_*$bIe_$À/ è—IÅI¶õdd[OÉ«­'$Ûz‹mÑØ“GòjìÉ#É.mx$Ù£•GR{´Z׈­4’ìÐJ#yuhC#Éþ¬4’º“Fòº“F’CwÒHrèNÉkèNIÝ©wÃÈ<’×È$¹“H’#wI^#wIräŽ}0r'•ä5t'•$ÇäØT’:v'“$Çîd’äØL’×ØL’ìÐÊ$É–žL’WKO&I¶ô¤’dKO*IÅ*‰ð—& üK“¤0MˆIÓ$©L“b’ÀÀ4I*S%ƒ©’ÀÁTI>@øß²I²…?ôRI¶˜»M•Äè»—d³yf’‡K²Å8jÊ$ÖÀ¹ï”I¶×OB&Ùl$e¤Lbyëg8>Fmó§˜$óçøh`’L¨9Ž4Iž#Û2]V&És$Od™$Ï‘øÍÃ$yþ½š$Ó“›:&‰Íï×ZVÄ:N6©Ÿ¸Jbø6Ó$±ùèk;Ó$«7´ø_÷•"Ém™ås‰$÷Ïñañf°D’'fgŒHbŸIËÅ@$±ÏäsdüÄnwëV ’ÜŽ«%’X€Å…0I¬_aiK˜$öRù 2I†5SÇÁoîR§yp¥I2|¥§–&ÉÐ÷À#“Ä®’¥üa’ _骧Ibáí|›$Ã×áêi’ŒŸã%Ç$™¶àX_¿¡ÿÞZÄM’é“*gš$öôæ’,2I,kÇÀ´öqx÷“ÄÒmìãÌß±aVëXû“dúÊZ^ä¹ó£¬{â&Éóø­Z2â-ó,³4IìͼO~CdÖ|?—HòÜÉË®ˆD’fw+×— ‘ÄÙýX"‰µ·k‰$-(ŸÏçᦺ]¤Ib ‹ý\&IYc,M{ç¹L’MUû1I¶põ›0I¶Ÿe‡…H²Yù\"ÉVe2åIÙëЯ%’Ø6ZmÄS­ž÷ñGXñéŸo’T¢’
+RL@ºö Å$© Å$¤˜$€“¤€4M4M“¤p4M’àhŠ$âhŠ$¤)’¤)’
+R‰$p“Žb’TŽÊ$£˜$`“¤b“DE$£I¶—H" E$¢ˆ$M“¤0.U1.U1.]’¸tIÄ8É$"\Ê$…pÈ$2 €C&IÀa’
+8L
+êÒ$ Ô¥H"Ö¥H²½„²IĺIĺI>X—&Ia]ª$b]ª$b]º$…ué’ˆu)“ˆu)“Ö¥L"Ö!“À:d’d& ¬Ã$u˜$•u˜$°“Öa’TÖa’À:LX‡JRY‡J"Öa’À:L’Â:DX'‘Ô!’TÔ!’À:D’dD’ë$’$ëB$IÔI$y±N&I²nƒÊb]˜$/ÔÉ$IÔÉ$IÔÉ$y¡N&I¢N&I¢N&É u2I’u2I’u2I^¬“’¬“I’¬“IòbL’d]îC¬“IòbL’dL’d]Ë.K²“Öa’Àº0I*é0ID:D‘.E’BºIDºIDºI
+éR$éÒ$êÒ$)¨K“D¨K“D¨K“¤ .M’@]Š$B"ÉöÒÉnõý…M‘D¤K‘ä“t˜$•t¨$®Ñ[Ðá’TÐá’
+9L ‡Iä0I*ä0I & ”Ã$©˜Ãs˜$`“¤b“Ì­}æ0I*æ0IÀ& ˜Ã$)˜K“D˜K“D˜K“¤`.M’À\Š$Â\Š$s)’s)’ˆs)’Î¥H²¥w&‰@—&I]š$]š$]š$ti’éR$éR$)¤K‘D¤K‘D¤K‘äƒti’Ò¥J"Ò¥J"Ò¥KRX—.‰X—2‰X—2I]Ê$‚2 °C&IØÉ$v˜$À“¤Â“Øa’
+;L`‡IìPI*ìPI;L`‡IR`‡HìI€"I…" °“HìI*ìI€"IÂN"É v2Iv\ìd’¼`'“$i'“$i·1eQh'“$i'“$i'“äE;™$I;™$I;™$/ÚÉIÚÉ$IÚÉ$yÑN&IÒ.÷!Ú…Iò‚L’„]˜$ɺ–=–d& ¬Ã$u˜$•u˜$ÁºIĺI
+ëI„ºI„ºI
+êR$êÒ$êÒ$)¨K“D¨K“D¨K“¤ .M’@]Š$B]Š$uˆ$"]Š$"]Š$¤[&IAÝRIĺ¥’vË%)´[.‰p·dñnÉ$xK&ñR&y)“$óÒ$zi’€½4I*÷0Ià^š$€/M’J¾4I@_š$°•¤²/UÁ/Mè—&IÁ"I¶õ$’d[O"É«­'‘$ÛzÉ65ö$’¼{I²K"Iöh…£W6L’ìÐÊ$É­L’W‡6L’ìÏÊ$É¡;™$¯¡;™$9t'“$‡îd’¼†îd’äÐ]toräN&ÉkäNHŽÜÉ$É‘;™$¯‘;™$9r—ûÐÈL’×ÐL’»“I’cw2IêØ& cw˜$ŒÝa’Ô±;LuhIhé!’Ô–" -=DZzˆ$)’Ë$ÿ–IR
ër±.×8ër“º\ãD¬Ë5NÄ:9Y¨Ë5N„:™)I:©)/ÐINIÎa§$çÐS^œÃOÙÒLIΡ¦TΡ¦$çpSuÈ)/Ôa§$êÐSuø)uè)‰:ü”d•ê0Tu¹Ø‰XÇb'u¹Ø‰P—‹u¹ØIA].T"Ôåb'Áº\ë¤À.×:ìÖ.v¹ÖI†Š`‡ ìT*ìd¨À: X‡¡Ra‡¡ìPT€ŠJ…Š
°CQv(*v(*¢†
´ÃP©´ÃPw*àC¥âCÜIQv(*w(*àEÜ¡¨|âE¥âEÜ¡¨€;•Š;áCàa¨Tàa¨@< ˆ‡¡R‰‡¤ñ\J¹W;—;)ÈËåN„¼\îDÈËåN
@@ -4459,502 +4442,532 @@ K2O
ïri/—Fðri”¼\EÀË¥Q¼\e/—FðZx-/àá´$ðZxX-/ࡵl-É;Œ–Ê;Œ–JK§å<¤–VK­¥
ñ[z.«¤Ù¸ ^K%b ÄClxˆ-•xˆ-³âa¶Tâa¶@<̇ÙR‘‡Ù"ä!¶À<Ä–Ê<ʇØó[*ó[€f ÐÃl©ÐÃlz˜-@³åz˜-z˜-@³èa¶Tìa¶{ˆ-`±¥r±î!¶À=Ä–Ê=¹-pÏÒ•#[!¸—«¤îå*)â^®’"îå*)…{¹JŠ¸—«¤ˆ{¹LÊâ^®’"îá¶$÷[^ÜCoIîá·$÷\^ÜÃpÙp[’{È-•{È-É=ì–Å=é-oîÉoYÜÛÒâž —Ê= . |2\ø¶œë(à“ã²ÀÇr)€åR*øX.ð±\
àc¹”
->–:|,—"ð±ZJ«¥
--˃³ôö1<_Ó²X~À¶yI5ÛÿãóþßOðï<~üŸ~üßþ÷íÇ¿ôø¿ÿ³è!¼öùk‰i¿?~ý!RéËßzÅøí×ïìÏb¿ÿ! ‡öÿŒ‰Og%²üž‡É>;ö?ÆûX kìÓZO® ýÿqŒíÇøg?|ã)ýq¼|ço{³5´îH›¶´ï_#vÝQ}\–ú´/bá‚Ýry?ÊžýË„Âî)Ý6†uYGõò”àòÓuS<¯úTk}÷obüåÓ‘iÓú×ÎæÉV×Ø;°Êö¶éOOG¼,g×–éjž2æ˹G®Æe3{|¯ÿÝ1‰zß×ëmÚý¸gžãÑ¢WÏIN{"ËI2³¬“<ž/ÕEÿý$#2ëIzŠÉµçIzÚ•çxœ,±œã³ÛicøœedoäIö+Ò’8É_t’m·ušŽ×I6ûª\wžäÓígTÃ÷“ôÇƲ’ËIÚ°Ö¹5NÒ:­Ç¾çIZ¿Þ¦õêIöͧ^9Ç6Ÿ›o+è$m˜ÅÊ‚—s|þðó%<ó[ö='iÖeþÚçYÛçée>-=ÅNò¶^å~ßÑý¾í'Ï?ϧeuzæ·ÍJ?Wz»R-µs÷L¥ËæÎÓýÏ¿§e;[ìÑòȦûmÌêxÞ1ªxoû²ýÞÇ)fݲ,YÿÌâÇž‘tÈ[8­öô¦Ÿ;|Ú­:ÍáêÃþûn½l?¶-D¯c!º³…§öü¿­Ï±NSžž?ÍÕ,[o¹_þ§Uºß<WÂÿœg9Ÿ\2ÿk0‡_2¡°“²çD×ìù_·9w\3ÿÂoÖ"9òšÙ´€xqͺ¥cïçëšukVXN‰®Y·7ú9®Y·–ÊsÇê5ë67l×Q×̆½-–kfó!—Ý«rÍl¤ÜF×¹f6óbe^uÉl€~ŸóuÉúˆM¹fÝùƙ׬Û8eõ¢=¹[J ÏYW÷XÍò
-vKêõà©;²Ñ/ússä¥zÚ‰qæžç1û8FmP+vaçñÝ£ú%÷ò6¢ÿsN8Üø{ØJDpšPǶ?/”m°qמ» Ä}Ñ|”3v`â†þ˜7¡ýÈläê»Gð%mØëÛzùs¿Þ:WÈêÅDÐW~Qði×)¨{dÁM×ÒÂsÓ¡ùb¹Ú«®¤¶ýîèÐf· LíÂÆéâОð8¸ÊÃZ‘~—fóé©_qŸ§áëÞÙôòë3·¨kï{?§h^ ÛF¿|¯ÃæÁŽ3ÿX\‡Ó¬SÁeéRÜ#×ц‡®ÃîÐQØZ²
-ÚJÀœk¨µWýE;8÷Ø“t"¸?-8q("v üùÎEñgS±;÷h)>Úc^/I¿ïnŠÆU±Ö–Ų_eɳ¯-M·×ÍaYG[Áçèé Ÿó<=ã)ñ6'OóŒWäŸ<b¦‹XÐ’.f¾û—.€…­‰a š#8‰Móhb§62¿·æ7k³yd šDÏY5€ˆwÔêqñÄ—vÐÂŽm­oÁX"‚íÊŒ›?5×ă+܆8€mrÿ=y5‚žª"œL®`/°óÒL_öÕîc¿Cçðìââ.ú9Dðùîk6Ì»µÏ=ܦÛvzs{cŸóhº±Ï#räï]ãÕÙ^ñ§l€" <;·©¼‰UaæÎz¶ØÍÈèÎ\˜¦Z;ŽlùjÜ—»Æ½ãÕ¸¯H
-}ßíËúÕsí“s³&Glú<ß¼‰MË4Ëkzê÷ÃzÚ|òNóÕ,hi3ñ±ë¢úL.€í{°ÏG™m÷üÖã·øáõExú
-‰æF(³•¸/{×äO™LÁ§ã§kíO·‚ÇEОÂØ4]Öx¬¬®ßJŽkWpS÷¿Ï±ç¯}rNˆ/¢Nì:þçùpO¼ ‡m÷úØ.mzsF¢ˆo×µ÷Zãçžáxžñç .C;Ø»¾Ö~lÇdÓc}6טÏZ¼WÏÇäi
-é’<ºšÙ¶qXûЋuíQm/Ž`‹¯œ çÆè7Á­7NâX”§Ï¿`þPG¡3öï§y˜=.»þ‰|¾f“Ã÷½ÇçtÆŒjüý-®À9£1?W;å´"ëíÙuYΑƒ ù§‚ô¹ós]Z¬2ÝøñåEoµ¥½› å×ôŽ×Ì‚ÛÎ!]|Ÿ¬ÀP¶Éx{OKâ¶GpxqÜÁ‰ÒJ:¬¬&§êßݯj¥x˜õDе 5Sâà Îâòiá…ã{îAšzVwXÁì²{,~oµ+ò#æu`õ)xe?xD·(~oÍOÌmןúnPO]îmÏÄ»~²#¾æVÛä<'[àÆægÒÎÒòbg4ºtË/5Ž3›°ÏÖÙþ9äjÄÖ¦x*8ïäŽá,ÏŒçÃÅŸë•:1tÑ­nAvegt¬l¥¦¹ôžð|¡¶÷ËÕO/|¹çh)ødíß±‚_Ùi •ñ×öl1¯ï†™¼9P¢¦¥¹—9¦5'ñ°ÞÆÕd¶&¾âûIïàÌw!ï®Ï`Í|o¢½¿FIÛ×T°1:é âüœ¯ùµ
-lw/PÁv7ë8Dïf„¼¿ÎÊ‚.,ðÇŽh=ùìóÆ…ÊçÛåÆÕ‰ïVo«×æùd?yŸ+‡(n†‰<ê‰Ñ êºÙx0¯6™ù?\‚{ª'·—1¯qI_òb8ÁK¥EÌëTEp‹kåÉÑôƯ™‡ÕJ_Ðwà‡µÍ(»¨Æªs÷m„À­)Îv»JÑ;æ¾ßÍ*Žå¨æ¥³}¢{Ž¬^V‘Õ‚>ÿ^[…t,®Ëììö´¦3]´Á\Ãf£:=â¯ífWŒViŒá= ¨ö¿gËÂ;4ï2Ä^[L3G8 ¾©pF×h×Ïm
-}…› ºÜ·#*~ÿm¤ütM6nOŸé khn!M6>ÿçÜÎEì÷¶»}ð\.k³Ø4ãhVrã²ý>_:„ùÕ‚6#nƒÃˆf°·˜}ù§ÅÚcç›Ú(ôèöOÔ³ÏÆ­©
-ÞÑVà
-ó̬pSúÐ,°Ï×ÅD‡÷æ×É*iÇ7Й<s¯  Hl-:˯°/9ÁqÜwó"zú!Ak óvMÓP=ⱟ‚§îxP£i5¨i#Nw…i•xQ"‡d‹‚‚¼Ÿ¶öZLdÚœ}žîáÉm¤˜÷CÜ%
-­úýú^‘î‡c3]lO‚ ø
-ÕmO3Å
-/AÏ ]A>ú>˜õÞ¶w2¯2ØæϪÏùöé|ϸKc1°·v—#8¹£·4GPß!%eEÌëÕfŒŸŸ{$FÕ-H½±]‚ +Í6ô˜xFø/Êóäd?*¿Y É3ýø|èOÞtÝf°VO„w|ïQž럜—î‡'dþ(Ç¡Käèý)’]öCà}Ü™ ä«Qƶ÷¤3?ŸV¾nRð©k/c¿h8rú°rÝÒgøtxúu¤Wmù0B3Ì¢¬«6“ü6öÒ6]¢®c*A%QÒ—$|fZK·né¦$·Ó²Nâ°ÜfR¢Çʇs[ÅùzE{ÃÖq±òwARÝ5ÚÕ,Y¸ YSm³!o†‰FÜ–íù5€Fh\ݸ¬=^û­•†U—Åäa«M¬mcì×gç>¾ 6Þ³W¸uÆ©¼¨m¤Yšnª·VëCÕÛêi³» í~¯ì ½ÂtÒm¯»?XÖe8¶÷(³iÜUÛßÃ4 ­0—NkS6ÁGБÀ"\GÌ1e¸fgìâc Ñ&wÚÿF2fWí¹³ûþ+Ñ]±K¨‘ç xNnïór·äµñ¬ü÷¶w,8ß•3‡ ŽHëf+ì•qƳleïÜ«½˜Á›~ðàšDÀ“§§Î3^<߶ý#k¬'t…cNЃ¶ˆc€PY¬ß\Á/1l÷§ ñµ­K[ÃÌÿYÚêH–ù–[!Ë8ÚÙ®|£½ZdÇjêƲ橇×BÖùlzst¬Rʶ3´Èh å$¬à(ŒO­0˜wpä /­åÁ#ÓK'ß^»·ÆÒfˆÀqi5#ö
-ä¼Ã¾fÁÓëÕÐA¿ãca=*½¡
-rº¾àø{Û=j.EÐkD¶H ¬ÚBUûNïqÏ¡*+‰ÒÕÓs#/º Öà~œ«û¸Âþ½ˆàv3,çëhÆ_š>¡’AàÞîóc[“éþ˜W}ñ #?
-æ Ûûç¶#ì6$Å ÷
-Zÿ´¯›@Øðz“á嵂´j:ÚíºãXdô_ÛN]o_²…)¦Á'?OáµíÞ6m{çtÄŠù<¿/a®a‹Â÷NDoÇ s³Â6`¬A5_ðC±Äíf=ÌÌÇÐgÐ>¶=&¼Ðo{m¼ºÑF}…ÉC(OÁÞ’‚×ä´ö] ¤òp4RYËÑÖ뺂½L¬huÞÃX!cì—‚–¡T‚¼Ïç¶}l{FYÍ8
-:#C+ƒ†;k#èì‡ck;Bmâ=Ñf²–£q[´ì|®ëj³epÜr2Cõ®<ÜzG (t‚‰iÁqH*ºxˆ¬ª3e]¥î¢‹¯¹y›ð}ù
-û2v?Õ¾¹õéΛþêã¥s¸pëãc[ïÙx0¶ ~ô*ÕÝ´ŽFÑ”-¸~U¸«=ÝBðŒg6 2û¦(ƒÈ²`åÿÊ­á ½$;[Ù«q³íµ³-9còqyÁ¼¾ø{ÛKùªÝËïŠy}ƒ‘Sm_ô{ñÈ>T#Ó$Z´»ËžµÑûÕK0ó$ŸÊ²­W'÷ V¿ƒýg-²öGÍDqújúR&濹jÛU´Õ{†>†÷«Þ¯´ŸPcfÊ›ÏOóæ× ¿L¼x
-·-'c,¨–‰‹QúCc×vÞ?£vkD|FMПå¹ÒRÜÁR/Öõ6ÏDó:² xų\ Mïí^¼x– _ ãØæǶæá¦JMŸÁó¸×'l…™ú±½Î®–ûî=àæXKƒ‹ãsu¿>‡Zs öX°GŸ÷ìÙî»V}Í4•mÃý­×49/ãã,É ÛAot›5j¬ u
-öKXýæìÜþõŸÿá©ÊÇGªò¿ù'¥+[›Ý?Î6;es®È*Á»Â_ßá¦tŽ¯ïüFxíä÷ÿLeð5C¾«ò…{ þLd- MäŸHÝ1ëZ9`­þÌLöØɼð4²úÛƒ^ˆê»<žTKýo×­­}-J¿žW‹ân>ÞУ[¿Q.¶VÅví‘ÏäAÏ–ýâ;8"-®¼Ä¶;c#Ñ(Ø.œ%/Ù¢
-Ô>Ë€‡&·ëŽö÷ˆ‰Ö†Ét¶yrmŽ¡ eéû_—4«
-¸EVH^Íl©>tyÝ’‰à®NΈ²©±ß9Yº¡:<AMùùJç;è‘Ö4]’;8ï¼Ág׶^?J;¶úâÚ¬X¢²JãC\Á&ð /Ì°µž;à›&~U˜ÑÖ5Ã-Ø2¯eDµ ª=äA/û}ÂÛ¥ó¡áØÁŒªõàäÀÖ‰õXs!¯‘ö™ð%Ùc§g,퇺Eùß4uƒ†¿wJŸÿ}œ]×Èß{±w=²ß_3~?U0Ѓ^,/‚6î;¸äìøßòRªô²­¾í.9Ç*×1¾5ã3ÊFË[Ц(f%‚îiž®]Ü2âluµï5?ÆGÙÂ^4)Ž×~دú•Mõ"õ#üóB¹OpDV”NøâIª“JK¯´šV<,àãö´ÕFµ ¯ŸæÁkßyËûž»½Þ-v;£äçºhÜÎlÕhšK!³ðó1Ðánm\:„¹qƒÛ©§fFµÝÉSçkRÞˆÖâÕ¶>ñ99±-ì+-Õ  fá,ì#;q´‘ÑoÁûܸâÑöà¸yǘ³°
-=ض{€Y›C›*Oß‚Ç ;æD+­ÅÖe‹§f˜‰ÙöovÀÔ‡f“Ùb¼:1Ÿ`ÁÙöÆs°–3¶õrµc^(—¦ˆ^ÝMgm©#ð qv@&ˆÊ-HZ<ï› ›AWkãòœÑÚ}a /ðÑœƒòuxŠÆzì5Ò(,¸8«cxPC<~ªÇ•;8çq³m<ÜVÈàȯMøB¶¥OVÇuAMÛ²µžÙR;—ÅRt8©ø\Zèì<,wÆ»ç½~½O’v4¹jÁ¹Þ±oÈïXÇ;±r€^ðè-Øy_Ü/ø¶½ÉL*ìdcëG>°C1ÒÙ†ÇÁ38c¶\»ÍßkÐ¥|}Fý‚zÊ-;˜ÛÎ;o“?¹ô¯’þD“ÇJIÜä8íše²è½s
-ÞÜòÝvL·`o‡ß”‰éOÁ}äž;ªK@3פ§æÜÍ)˜˜ÀõZ\(ÂgS*ÎÖõÞܤ‹Úa턼ó§ö|on™a~`*«a~S~+hRO vŒWÞ¦…›Æ´|[uãf¶-ØxF£ý>}á^…ït7tÎØ«Ê£˜¤Öø†xf ;`XnµGMáí}™šzñX]Y'žëÇ‹7T(Ç‚;oˆr||¯“7ä:42ia_Z6ö«t;“ÖصÛVš<ždë=r «q1©7i31‘“ÖU9‚ûMF€VRŠh~0ÝMÿª°¯e ÃjìÁË$ÅaÅàÁæCÑŠyOì¶Óeì›þÞ¹|ªoÓ<)”覹daù–v•âɪSG+>E°óßpÓ)›ßc ÓØA4Å-èµËâìU‡ÝÃX “^¿ïàäìU%vM# _›¢gЂJ¢Yxð-ó›ä­[v0:@öõ[¿Þ§2¥*µé¡ã®W!‚[¼1¾%—vTŽõEÐ×´#úTÕKÛ© ö±ƒ#¸£^Í'\ÊõÛö¸©ïÛ°JSa>ÂG¾G—®Ík²¯»£à}äÙÞcí`Nå°w‰×Û‘ù#"¨7Ž')vpdŸhF ÌŸ¼Úˆœ.Û6zZ<ò»3Èç<xÁñ*Lt»ÇÁÓ¿ÈÍ‘±«9
-w¼ÏÁ-›s¼s–%Γ¨"—úýä“r)_ò ö|ñ¢Ì„}ÔV7a›¹ƒýbc(¡Ì”Âs¯ìŽ °éC•/Þ)£3¯¶;íåŽ)¸³¥W¬`G´÷fצr´;{qZae}%â÷*5¯³ÕsxG*Ÿp¬ërÇ÷úK-¯)ÓÕO° ÕhçoéýHçÒwzì¹/ ¾(óUa/õ¢Uœ—52vžX úoö•`lÀ»‘ ‚ÎYÚ6Þà];€¹ëõ°i”q\¯ðŸäâvÍ‘x*"/m~(=<ótçÍîlÃãtÉÎÆgÊ|‡ô9Ü£Ñ^/hÂÌ;ÉÚ†gãZ>ô*SÚrvbÒ ÷`ãX½ä ;¸7žYæ
-7­V×;c=3ý¬)¨£µüÄ©X̃É°“µ9Yvpm{¾v';Pò¿ñ~ÙÌݤÁ4Rº·iÆ©¯j°â«ÂÇŽfå£ìƒ!±[#õÌæôªDa;ÈŽÆ©«©,“›s*¯ÂDбí噋ØØ{¶§;ÓmçsUÞ<Ë8KN’˜nsC;Í ‹>þw¶ýJ8ŸfæÖÜŸå¶à¹1«àû]-O> v Š[Å£íO倣’Ù²œÕ1fGß+²0üò…<Öï]%­-W Žv¶š¾\CJƒˆWkj (Ürž,¸ùiÓ=·Üñ†ÏÉ×ÆÃ|T£Í‚ÊX÷7¦‚Úš.|=Œ–|1ê{ª½N†ƒIú·`¶ ¹ƒHΨO¨í`ä`æau`ãrͳ{Óæ~4È]ˆ¬
-oƒv°_´ èdTÓ"«}E‘Ô°È3PkUpì@ÍT¿Ž¢füAšˆ‡Þªxè3[8ZÚå*Zi¸ìÂô”É× œc9`½e%r¬t—_'àËQ-¡e·fßʛ묯
-3=Y^ÒÓlê¬4ö»5†þsäÞÿÜd2Ö1Øï~åôܪšÇ¬«f“[¬sÆää¹-ñÛŸÛ±î4ÃŽ†·:ò>üÄï©O03pS­ñè…ŽT÷'må#Z!´N_‡|Ç-rx_›œË¶eê¶ÛT,¹dÊÆ){{#SïõQô¸³s›%óömçí"5³لٕ=*RçxÛµŒ½Öx5w¾¿õs¥¡ö-kæY†ÜƖ嘞¤itÛª3qûª§±÷É<xkáPe
-Ò³ÔÄ…ïu$H4€g;(—°­øúÀºß“¬ÂëÎZ";¿+@;Fþ^ nw>D+ ®·©¶G"ùz·ØÁÃMãI^
-‘vÉMÑ<ÏYfüÜ;!¥@-1“ Ø(ÄØ'zÍy¡‹2H8s—ʱðèÁQJƒÚ:
-Ûmv
-;Á~fU[W_*/KI¦Ä‡>®25qwÞ‚¶~}ä»l|J­Vfª 8Øï/^CúàÇ*µ4C‡a«逊/Ì]ÚT±Â›U« ïøªß9ÍÈ]¬3Mš6Ú†oœ™@Û`¯+u™ j ^œ—3°Û•8EI+u›0'å~ï(c„*=[#÷0k²Z!éŽ{“Õ:GN9+}<v0ÒuÒÑ~Uxeží«ÆöÖy¿5yvØC–MèEÃi3äü5Oúªðz}à$Ù’,È‚ãÈú++zÏŸnùÐÞ¹d{&ÕYß3‰J?VË8M0Õ±:|$/ý Æ^l·™;¥t\¯.œƒjJ±õBá76‰g/³‘ÚS»ïýã2¦‹á‡ª¬Ù*ì€ü­1¦#ЬÐÈu(ìN$»µrô±.C5Ç*5bpYÁ«å†s®ß§Mâ“z:Nª¡Rß×JoXküȪDßd·SØÏ×ç&…ÜG?xBñÏÕ:²š˜„Ë[ÎXc)+iÈí.G`Œ¼ŠãN¿l¤úoLÑ-h}ýšòscÕ±òŒ<oYîÃ&Pq12cÕ·MG%R,xñÞRÍ ójMr2Q%·Æú[ß75€còÄì9bæü=z¹µÔ%Ö*­m,&Ö`>ÝgŒFpµ™N>ÂvÁ Ý‘¹ù¯ ®ó§oU¿y½«ý•o ôÇ;»ŸþaÅÝ`õ0pøÔ ™rŽžM×hþ76‚çäÚz#­Ás¢K‘àc½–;˜«¯}gY露žæ ÿ|ɉ¯ÙUåmÌýêi‰Û³—¾.BÆži›{}ó˜[³u/óêê+d# ú
-ßaÂ0`¦1rΆA”VvÇbo?¨«÷ñŽv[ñdAL_§š¡—“=¬$úºOU~diøS+´å5dD­çËU\,‹=ͧg~ŠAÅN¦¶C£;ûUžm^ÖsDV± ض‹óÊÄ'òըϽ†®öôÐì£~3^¬bÚ¾×s•d¦áqG?Ó‚¶ ÞIÙé{æ„ßMÅXOlÍÉÁAI6o©Ç¤åÈŒ“;ëâØ ©
-]Þ«¦ði3™:…̳¬wwÝ™q³’ºÑõ¤«(ð îÅ$­ÕÕiì6ÇÎlNùä:Z}¡å¡¡¥góÔ¯ˆ‹ïL_“¹´Ö,± T€;«1îZÑ9ÊÇuO"è
-ïZ´ÄÒ °¯$ˆgC«ç ¯€WsǼåW…)yG 8‚Cû¥_Ð{Ì°G0çœ,gBº;ZA?yÒÆzo²ŠiKIí^O´gUó¬Ä½1Œk•l5oÝ I°wä«’ÊâofìV3
-Þ-æ
-2¯¯L
-Ÿ N^ä@[»úÒ²YmiÉ;”¢@î¶JÜÞ“Š˜ß‘5Žã÷#?Îkõ!Ëá¾yŠ|ã'O×>=Ÿ!8káÉËA[[äEi}2ּ6확‡®51òìvFp׳iI÷’UîèˆÆl%UÞJ¡XÒýÉ%`JØ‚y ÏL³ýžì—Å{¶3¦;ò<#xí|ð3‹]­ÂØÊÏ?©*ç±àÌüµ»,O²)œÞËU±‚F¼H$ؘW³Ž*¿UÛV^û#µ DäÛŠ0ÇlÌÀy•OriÝ`"|éú­%?îlçê.ƒV2>FWýĤ l©>ÑVîAº­î[)eó^vÒ–™¿÷Òu,
-s[˜Ó졧êÐ_Dá,[²§ tÎ:•’Ûo¹(Û<0Ð?Úr§ÄJ”ñõÝü++%õÑ)T/åÛ#PM/«-zef´AôWÂg#ÊP÷ñßLNÖ¡Yð$1fËIVÛÁJÄÞ³þð¶ftï\]}»H&Ü2EãH_ݧN/F çdLR«¸|{œZ§áGö<p¿¾™ŽÉƒè%?"öêŒBø€ùµ*Ò~ì÷«þàV.…Lþªð鼫îô}’:äSg”9õ`®¾Ñ®ë[:X>§ÃôynßÀ—<2uÊÈKáÈÔŠékaDKÖ#G—… ¬>r&ë-/&¦˜fØ×:烔¡3§À>þ>%åì[HB¯ß_ 7ì΂¯ý`Ɣɽý&‹1fLéñ¯™ÌìØÞ¡z(·g­úþó«ÔÝJW9³ÎÝì7“À[öøç–ÁU
-ƒöô8½Aæ Q2ábزÖw{1±¬ÕÚ|§×ÒçŽñãw@EÞÆ,^7Ì%<³v„¹
-_ Fî|Äçë÷wòÕ3ÿ«žÿ\ —“Z¿2Õ#b Òz›þµpù;R.o^ðY¼üyýU÷ÝæõríòÆšódèd»›¸\ºü8»–*ðÙÀ_ô{V·8ÓEóUBøŒÃ}º—µñ*þìàºØ6—’>3/úŠb³:¬k¯c Œè0°†ʶógM½}ÆÖÊM>„ðB‚UÎô’Måk
-iZª{fk윺—lH7a'¥ZUíúö­ê(k[ÕJðo£F57ò‚úk™‡­@úZKçùÕp÷'±Äø¹Æ½Ê–Ö,¦—rm^Á=×ZaˆÈVF·CeyäÕïñ ;@÷{mK‘µjž ~îŒ
-ÖÀ^á<‚;§ìï\BûÜ×Ú¨+|­¥žïÌyéû_¥öºMgyl{ÅÂcÑ›ŒºŠïàZ'«„H:—uxbÚ,°³‚¶u*™lËœ²«ùïºfaDŽ5ƒhy‹ñ)>²½˜+V+–×\ÙÖ–Wdf¾wi刦‚K¤_Ëw¶3:`?iN.תb–%È*pjíùmO †Êû –•/j˜%†Öú™VÝÙR-¢qÛöQƒ¿0ÖX:ƒm÷‹d4«?|¶ØkÝ¢.ë Jà×µˆfæ¿Ôu‹<IˆÙÖR®´XËZ·¨ëºE%¼×d´½7•UÎ’Ñ^z®ãŒO,ß[¶Ý4ŽÕ³Î„¥ŽjØîUÒ|¤¼GîÞOš<ì*Sž«†š÷¹ G
-ÕuŒJUŒB†R•‰LZR‡¦®bdŠÒ¶ïÛZá¾xªÖÊD»•-¢¼V1²o¿ZeÛ3’¦ã°®eXÃ{/PT¸¯Çº¤àM‹l¦J=ò%ãÛ¹v°³»LŽ'[)=^^Éâù©µY;,úÓ¬?£º±ÌìëŠÖ+Ú—¤¤ßQ'Ä&Sö¶Pµ¸¨Ï±œ¬åô´V²šÄ+ø¼ü‹p„GÍo`1‹U²Æ–!þÎüEƒL*ôT·=­UÕuiÈÔYÁëçµHÖŠ1y¯ìã¹VÉJëyø:H—ÿm«… áEÎnrU£a˼r
-¯õ¼ÌÑk,NÁ]¶Ñ ¥²Z5¾¾Å7ÛvJ>”õ¼Vðµž×+œ®Qg—¶­•0:ëp7k’uÒr¡Ê«å²:Ú²žW –õ¼Jt­çe *ç¡`æõ\PXÁ/ô1s!íÉjŒÙEõŽ¡ÇeËÅ™ÕÒʦWZsu}’ûX«gªëíÙåËÓjV¥|myÛ6¿ùxwŸæù,mpq™ÙØŒ¿_Q
-ºØ²ç“‰Ä®,Óžo¡M¿ä‚E¶«†¯µR³å]jCÞ¬dˆ·:•>•;9u|æ̯ P ê\Ë7Ïr±·Æǧ¯<WDÒØ>àtÞúÌBûGÌî1¤pq öH‰`SY³Ý­ßq»ö©MñOL¡#ôlE— 7/¸Û+Èl°¯Ñ¼ëÕ`îÞW(fÅr­Ž“õãʶÏT[íô×ø ;Ð0]KËøôJ÷Ͷ»Úæ]E¦£ÜWPÝßþ3Ù*kÙv#¡zV°B£d¡ÿ~#ï[³Ì^ëW¶k[
-{¾ž}.B»·ö¼Ë’l%|dÖf¬žÝâÃGæ­¿ðG/A@²Ç»U·5Ñ6èÚ#‡õ<c1xÚµ+Lor?™/´W.TÄ_Š$UdÙ²G‰‰ÕPú zÊa¶L3¼±ZS§
-ÞǪEÇU‚9XyÅ•*Ûn?³Pá>s¹eB®Qpùæªá’›SQгբ}x®*çfSðÎ%‰›J7²BÞA{L[ûŠú$À{§šŠë½DRù°„9þÚöR¡` R>±•&”Ÿ6…3Ë¿{Vd‹³ò¥.â
-€LKäæп€Öª Hƒ6"¶ Èóó¶ÄlÙ3A½6uψš)dÖ~%OÏÝ(5S°_mRZƒ”µƒ$
-Âõ¨jrñ†/ÖR³šùsÄ‹æ±Í|?6ß`V J­ëÞ€¦Gà5\bæÒiªL¨ÇnÆË)ââX Š*œ@B^óª@!!‡²©&ć[Að ›ðIúf.àùÉR«ÿ@„ÂÛ¯ú¶Ö6¹¬ÄŠÜbî,N9Í¥€Â
-»VI¢ÖÑ£PE©/¹™â©DXĴâ­¤N3ÑP‚ÕPÈ.ÙT$%vÜlêù"\I­oÁ0ÃENoùc2(*Ù9c]“å¬ HïEÔK‘Œ×käLëÕX:çç0·5Å9WÝf³¶l +%˜ù&éï2qšF^wçØý*>X £…YR¦¹þR_Ž’GV½zºØtaöÎ*°sÔ×5"ǯÂâ ²Â9 17Õ‚M¢¦ÅÓ´¬¨;‚½¶µª(ó…5øŵpn1%šºCf‚šíã¨Ã’‹h'³[W ð¢2YWìQ‰ø8UL«mµ†:aMgn¨´‘î­µôûš?Åu¼Æå Þ7þQXw J yBà!™`¹¾kYÆ!Ì)æÎ\éG#öˆJ 7Uì
-3â¹N3•{ÚÀYÜKb1¿Û
-9©¿Ð9ó=9Aé"ÀžµŠ:hz¸œ9¯(²9¢˜²WˆœX„L×0`m%œ4T6¬z†©°2ïZB®q5ÙÓÏV´Uád¶‘4âÅbi1 l Ék¤Më“ã:h*³ 1Òó܈ø´r«­´…˜ˆ@e¦+ƒBXºñ¨HLÊ
-Ù‰™¬Á¯Þ>¡(MGÍyF<ת«ëműºèUÊ6ð"Pz"lˆŒ\ ðN%gûà 0¥Q:(dzŒ‹¶”¸ÎòÌo 4¶ºÈ›Fª¹ C*n°ÀŒÒÿšï=ˆòvSf»Ò¶I,ŸôªB C67‹ÖVBœêé³]D~à4@•ˆi¡“N•ˆ‰K.Ë¢­”óŸwJQ µ k<ZBD .- #ié%ÑXÊØ{K¬
-;]ÔTûM6º~ø ~WÐäu¯P`ó–8þ,mkµßQ#ýq¤AnRU:—Ñüœc‹³j¶ožÅN>gJ‰ûÎÍSS4-±ü©BßµÛ´$ë§j^sM98 Äy¶Ù,0‹’†j,+4*ãϦHÐøm*ÙO×Ò¢eQuí~Ú
-ÐÁì>×LöÙiÐÊU/ˆ/8LA­œü$1̉f
-Nñ¾¶÷§{‡µB~ UšæåaÌ”$ÙY De±`U”ÃÙº’ÿʘ£…(’¢Êòk±²úE[Š+œ”qùõUâ
-jüœÌ»XˆÙ‹`2. ŠtáªKFD
-‘ ¨ÃJ:ÈpõPC;²I³ŸªlÚ€w8Ú‰Åò';…–ú>ˆmæÁZ!#Ÿ&V5:©"@Aø¡ùÞÖ’á\·¶
-Âöa!h&Žžå÷G¤Òh›ÖëœkîYW™üÀDu™²VÆÉN€î˜Œxì춚¤î·Åx¹jŠ˜_ÅÔáP±\¢ºBœÈÆŒó/df I–S4—ž k´aÌ™‘Õÿ®}¶V‰k¯&B%b=5WcÞ¶©-…ˆAµñÔR
-€<YMŽ¤‰’9£5Ù“Æ»"–³E¤¶ZÛfùÏ£zïŒØúÕ–ÓÈpÿ&N„@Õ›d¥ý¦‚zÕœ§‰“ ÚZÛ”¬ |Cš1ˆà1(Ð5k;'Z)Ê9qNΩ^3<íV”dmg;J‡ªD,A)Vm9¹•“vFÔˆ|œ*%ϪV‚¡qÖ„AyKTš‡—’ 2¯´L³
-i Ù°s"Gúâ}gKez­*.Ä©:Ý®œÇ„›yé”*QßéOyxÁæÄ–ÂlÕãéVŸ$/'êÉÐÊ”¸zÕÏÛÆÉ0x“A\%ºYƒLC8¶8-B£bøPiOˆ«WíJ[Íuà¸Fd[%j‰eìB%ûCñ ±ˆŠ;dHoÎ&XpeÑ6€R¯y
-kD΀°1ÈP1©¨¬”7pãÆ2ÁˆˆÉM£
-'ˆ¥fñéi,­låv2këÀý8]s«ÃïA.Ãñ[>ÉS‰+#ßtö)£YjuŒ¶ÙY¡ªð\ô¦ArZRÎÄû ÑQVjuàYm5“’®×2µÑnG–WÚV ÄJCk™¹,:dN×ëÕ‰Ø@Ù³ý|þÏgK2‚?ir–Ù·iõ“0ñc!?h“ÉåP6zÓL)ž‘ Ôĸ|ú ­Ê×’ë×…™.Qá¡ .^S~’ÌF\¼P1¢Ô{t#È’§OiÑN4\°PÄ¢{eN¶Ø|2âOê°5µiNœ©ƒœ`0§#¤' ›™&AYDœëfm½˜F„¨‰Ð+D.φeÞ5hšið쭹ഠ@ÉcõLN¸^fD¼¯8<ó¶‘,~eubQD°}Mðžµ5ƒ
-£&0­9(¶ÄAôúÊA' cC¹·!³S¢KA};k 1g3LeIÌR¿wÕšÌqÿÞ[)W ²"1°…5׆ÇûƒŒš@”*Ž
-rÎ` `u4âª)pÞ62‘ÙBQWˆŒë‹hX³^³¹‹ÔrZŽ ŒÒþn¶°¦%&SQlè=Þ$Ι† ºY-Àb¿.1€0FÔ1pP(ÙI,DÍË3Т˜³¶3 ½ „¾IkFûõr/ÌÛR6AÒ:<3ÖfàïLÄQ`™ÖVË-¬ÍX!ò†AÅ» ˆŒ¡ÍʯgS˜“|L£-(rhè5ãØ+#Uï¬- F¨I€¢–ƒ{b¬p ©Ã(hÉ " 8+•Ñ¢~æê'…Äf
-|õ| »PL'Iªñâ:;UwYVÍ+¢œË ׂcc… @3ÊÞH™ŠùÀaÊqNDZRcÞ–†…T‘¼ôù qZúüŒ<œ‘1ÏÈ?I sâpFúûÚÞK¼wXkƒJ(3ŸWBéôù
-DTžZ]­(zä²­Z;æß`Nœ}¯Až}Û4Kx²]0ì+;fèn³Ý•­6ìÊ>q±gAÛÛ¤ Ù1p3¸W;0Œ0
-q…k®Áa©Ú‚ÝàÅ4Ö{øöˆ=˜·õêÊe¡B3Æ,Vƈҷ2“+mQ­T1N¹hð€䚀ÒCéúÏä€WGUÕü@y¬ 8ÕLœó
-
-¢ÀÃŽemNÈi Ñc
-ÞF04`¯EA…¬¦ï°»œVU¾U
-&Z>‹8µ$nfV­bžµMb“kRW~dŠ —|Ä.dp¢ÖB¢_’<I¥á÷K‚ =Zb¨ZÇRˆ
-´­‹Ü iVëuND‰Éà*¢ÜaÍØdvžjüÉŒ6ÒŒ<†Ov).V$ ÊpeE‚¥ç–ò5_ä()Ë2f¢ü ÛÌê–¬ìT…¡ éL£õÀ½^ÇáôäW1—w.s>
-èæ˵â—ÛÃLö…Na„`šI’2³mîΞ5Ük
-[Š ‡.ç=Q)èè$94f°ñÅðϘfŸ‚š~ú؃'ò!u>È2ô?ãæ‰=‘Í/—>Š»åÐ/Ë'逿º¼ûËÙå‡TÉÇwgžÝ^Þ}ÿúânó/õ‹½;®¼½™xëã÷@ò·ß]ÐJ>"!h[Öñ¿ÅÏ7€cÈЮÔS òO0dèÅÍÍÕ—·ÿµ±/æpã…òÆŸçÀÍž[žcžÈãÏñÏ7Ξ={uùnó%AóRÓžT°×Æy4ÚÙVÃ/óŒÿÕåÕÙæ±QÅüãÍí›ïo®n¾ûñ©&O­=föäò÷6Ï1:2³#3ÛE&2!«O†‡mì¥y4Ll»¤m¸ØõGqûTsö·ØZ‡~ì7—*˱ßxF‡.¼¸ÍEþÇYEaã
-Ê?wY¾{Åðìꇳ7žO¿ŒîÎn·º¼¤ý§OÏÚ˜•ÙÙÏÿ‰g°áo=@ŠÓõÅÙÆ#çgWç¼yµùôÆ `9¿Þøv:;?÷ú݇<ænöÊ'ŸÛí›(6žÞ«W—w—ÿÚbrö©$g×—¯Ï¬4ìc­CwÚŽÁ0¦Ù?¹`˜ÍgôX¬Ç`˜1÷n±µýØ?¹`˜Ígtè§!¹yeÀc8Ì}&¹c8ÌŽŸgcùóq„ÃlÁó>æ Ý­O.fóúÝz ‡9†ÃÊeô ‡ñ¿”p˜-8ä¡ß^O.fó=ƒÐã ‡Ùâ;úyrá0›ÏèÐ%¼C ‡9hÿÏã‰æÙbƒnË<è>ƪ[DÍ¿ÂÏö~¾j"à#ü|x üE¿øϯËÕG¾ÞÎNô‘DìCY†ÍÍ~¤jÑ“¬™}¬“säh[p´òKæhOþÈÑŽíÈÑœ£ý"Ú‘¡:C» zägG~¶ ?;
-hG~vägG~öøùÙÜ©óõv>ë'ÆÖ6žü/ȇw<6››úK>6OþxlŽÇæ/—ÿ¾¸úËÕÙ_o—/wˆ1 ô©«3¸“¼qô¤ õ¯[PÎÞxLœïöâõ͇Òǵ^h Vëeó ËŠ<TYâ?îÄçþ¿î¤ÿóyÿ»ÿÿçýÁÉS Ù¾¼~uñíåõå殓ۋ7gw¿Ýb{ÎÞøäóÛù?ö1oßP‰˜Mçx,s,s`bE†z‚Ћßl6þX"õ·™Ó¡Çê ‡Î¶öÄzšùVÇçÀÙÛùÍë77o»
-¼ƒ9êha;ÖÐøYxñ†ÆÉÃÕÐؼbÃ×ÐØü‹x Í'rà54¶ I=øKóIbš\]ÞýåìòC&üÇwgkgï΃™ÈßÇúS‡vwúý¹íUóX®ÎcÝ©_îÝùxÜû[ïÖcÍ©mð@?þ$jN}õýÙ«›ŽøEߧàÔãáDÇêB
-ظþÛ1#ÿ“¡5_}€ÍÃÀþý
-O°ØÑæ'õÛÛ›×›O‡?Àt6F¹»Ùü®¾y€©«6mqa?\Õ¦']»h‹ËùXºè'§w,]ô3]ÈÇÒE?£Ýæâoïn¿ywÕOÿã³#>±Ú+[(‡®¸ë’üœGöñ›Z½{‚ñc[ÌéÑÄËáëdx?³øæßç°#È6ŸÇ1~ìñ»)îæòÙ“qRЬžšqß=wOÜ&¾qüÒÑ$¾>Á­MâGuïI«{Û°À£ÂwTøŽ
-ßQáû”
-ßƲÌQá;˜y¾Ç¯ð=Õ¸´§©òm\§âqj|Oï¨ñ5¾£ÆwÔøÖgrÔø¶ÀÐøòÔø¶˜Ó£ÑøþÇÍÍ«ïnÏ6?Ï«îú§¢ðm3“£Ê÷øU¾' ñ«Dl•÷~à<«vÇŠŸœ!ËxþÔDŽ/ö¼”?}Å‹™áÏÆ©ˆ™í_¿ãS›²¯ºr!¨ØÿñÍÕÙù???ÒÍ›³óË»ÿc ûéÛ»¯6·qkëOý øc9M[M걦ßÓF|DgiŸ‚6‡nÝnƒo×æo¹ªè‹Ÿ•+ÍÙdÎ>~÷”î-O ØÈõÀyÀÆustÞ/n®ßÞ}¶n®¸.ß;Ü)Êžúêül ™{åO>µ¾ß"GÿŠ<Hýùé’Çl†Ë×>ù$7ŽÉ{ûîöÛ³ó‹í>àêKÉ€îãÆ+sö_—¯ßmáš³öŸücón{2£ÊÆõ”.®ú¿lelž½ñ`2Öo/™©¿TWöCD ô1ðóRÙÔQÚ{ioŒÞÇ"ñý".ÙÍ+¿áKÿîßon®/¶×_<\QcÝZÜ]ñ(/»}ºòÒQ\:ŠK›Žá+ePP^z’ñÑ;NGYðÁdÁ£ÉüИÂÆWÆ??àuŸ}
-jz¸²é??Ðr>ÿ
+>–:|,—"ð±ZJ«¥
+^šO·IËJŸÞ9ø±ÏhÀþìÓèœvœc4Gàì±JýQsßgilNgžY—ß“êŸËás* méé²Q€Ëç±Î©·ÿÙæy!½žšÊå§ïï &I»b-øãÌÅJöË:‰ö§W:Z·ÞWÔˆç Ê sH‹Ø´žÏŒy’Ó3èX5p·ÛrµqsѾÄ}b‹ö\ö‡ ‹æùvWÊE³|{G¹h»È-/šePìÇ|]´]hä¢í&!Åô¥_4›h÷ÜßrÑ,3ሹ:?”=dG.Únïãq¿.š=D–çÍEÛïH;ä¢í—žrÑ<½ÀÒuÑžS=Öö‹æëðÝÍ9ûýÖf^4Ûž1çì·×¿ýï‹æÏìŒ bãv–¯í˜•ÝÓz|åî-*O7iš—7^Q†¨³ÀÍû©<¢Mq_6¥¨n“³,WÙkš>??¹,§àyw}ÙNo{ØrÏ^­§b›¤¥“ûð>G2¬¢¡sô©Ößõ_ãÜ®Õú˜§ÿm›H¸áª.‰·>|
+üÁñ–ê®|uK
+jÑ
+ê£Hg^6o!ùÒßë²Y ÉZå\6o!Ù§Y—í³a-¤#\7o"y±·¸nÞDšíuݺš›\7o#YΣ®›µ‘ÆëªýÛßîeöïÿðoþãïÿ—§?÷wO—"ì¯ú~ø7ÿ·ý—ÿåOÿÓßÿçÿƒýü‹¿øýïÿê׿ùëû¿üaûñOžÿÿïÿñ‡¿þçÕÛú~_Ë{Z?ýizy&Ò±[¾9ÿú„›‹ËölgøëGØîøó²}ýØÉo„s'¿÷ÃûŸ°6Ò<\8½­³åÃßô¾îk»#ol¿»=OÃéøæBËÓûæh¬½À±‡ñ: GÑóýiÌXGï{§d;ùúÃßÚ0:Z’oïC
+¿6ñ×Ãݤì–ÔëÁS!w#d#¢_ôçæÈKõ´ã(Ì=ÏcöqŒÚ VìÂÎã»GõKîåmDÿæœp¸ñ9ö°• ‰à4¡>Žm^( Ú`ã®=wˆû¢ø(gìÀÄ ý1oBû‘ÙÈÕwàKÚ°×·õòç~%¼u®Õ‹‰ ¯ü¢àÓ®SP÷È‚›®¥…ç¦CóÅrµW]ImûÝ#СÍn˜Ú…ÓÅ¡=áqp•‡µ"ý.ÍæÓS¾â>OÃ×½³éå×gnQ×Þ÷NѼ@·~ù^‡Íƒgþ±¸§Y§:‚ËÒ¥,¸G®‹ ]‡Ý¡£°µd´•€#8×Pk¯6ú‹vp î±'éDpZp
+*â6PDì@øó‹âϦbwîÑR|´Ç¼,^’&~ßÝ«b­-‹e¿Ê<’g
+^[þ>šn>®›Ã²Ž¶‚ÏÑÓ> æyzÆS<â0lN$žæ¯È>yÄL± %]Ì|÷/]
+j~]NËFãí^OÐf³Ñvó"u/5BëÊg°-(wþ°²},fù<ÅטÁ¡nà<F3ž·‡y®¿ÅߚȴÑ6>Ç-x˜Oœ—uúªèiúÃz¸,hƒlºOÛq(æ3ÄË}Fͨ›øUáûäZáBßÅå"yœ€•¯‰˜UˆÔÅ‚Zö_éÆ>/ÒW…¯›÷c¬Ýî÷ÌÜq(xíù¸Y£•ýÆ2ymÿ‰½Žµ×1[î Ö'ô‹k…î,øl‘íØ!îÜ:ŸØòRSÃÂ'™#>´ÖMòªz¶Ovzm­ÁóíÎ߃¨l{?+ŸCï¼;_Ï^o^„{È£a¿µ­çžë oO7¡ lSËì`¼àž(óU6“g¾µ¶åQö©}mxò·žÒ:1·HãñØŽ]ÛzÒy¼Öà‹ +ôôZsì íG†u¼o¯¹‚ñ†ŒÐìòÞ¶ƒ?¶íùp´íø8‚+jDÆ’1ö$^·úÌ>)ÍSÛݯŒ^p¼ùÖ‚8¹ŠÃ¾œjEyjÏzɶqr}ç-?vbgÜñ§±Ô¯£l?ï¥8g°ÏªÊÅ{g¶A^/ÅFCÞ³ð~Ñï}¸Tg;âºØWQ!ÑÜe¾÷e/àšü)ÓI"øtýt­ýéVð¸ÚS;°‚¦Ë•UöÛ@Éqí
+ncêþ÷9öüµOÏ ±ñEôÒ‰]Ç¿ßw€{xê}l8Ô€ôhÛ¸×ÇviÓ›3E|»®í¼ß?÷Ç‹ðŒ?opÚÁÞõ-°öck<&›ëë´ÙÆ|Öâ½z>&OSH—äiÔEÐܶÃÚ‡^¬kz{q[|ål@4.@¿ n½q
+Ç¢<}þó‡:J±×èz?ÍÃìsÙ ôOäó5›¾ï=>§3æTãïoqÎÁø¹Ú)§•XoÏ®ËrŽÉ?õ¤ÏŸ{èÒr•ùèÆ//{«-íÝŒ`H¿~¤w¼fÜvéâûd%†²MÆÛ{Zª‡´õ8‚ÃËãN”VÒa…59Uÿî~U+ÅËÀ¬7 ‚.^¨™NpGO Ϩ(ßsÒÔ³ÊÃ
+f§Ýcñ{«n\‘1¯«7HÁ+{Â#ºEñ{k~ò`n»þÔwƒê~êro{î VÙõ“ñ5·ê&ç9yØ769“v–˜;8£Ñ¥[~©épœÙ„}¶ÎöÏ![#¶6ÉSÁy'‡t gyf<#.þ\¯Ô‰Á‹n• ²3;£ƒd-`+6Ím¤ð„½F±.ï—ËŸ _ø.2<rÏÑRðé,Ú/¾c¾²ÓR*ã¯íÙb^ß sys¨DMK³/sTk2Râa½«ÉlMþ|Å÷“ÞÁ™ïBÞ]ŸÃšùÞD{“·¯©`c|ÒSÄù9_ó;ª*Øî^. ‚ìnÖqˆÞÍ}•]YàÑzòùç •Ï·ë«ß­ÞV¯Í3Ê~ò>×£¸)ò°ç>D‹¨ën£Â¼e¦
+¢¾Ÿº~‚¶³ëaóó.6û·e­X-œaßUþ·ð³#_9ÃþNŒ_?A{³/ª=ñKdï€ —J«Eê¬U/:vO¿~¾Ng;^º,oËg{ýgºö]e\ý¬|ʯ¾eŒYÇÕlè’ª¯X4•Ÿà®µZº¯„bÚ'Ø£ï÷γÔl—3~Ã>%çõ@÷w?ÄéÆâöáz¿0—µz"è“~L·=ˆt'$.âÃ._IëŠøö´þÒ¯Øò˜vsÔìü ï>“è—ÊÊSØ@§Önݱú\ÔðOoƒú¼V_ôóÃRüçw'Ò«~QîógÍ„ÝÏ‹Î6}:4Q6Â7õU&lC›î·Å«ìP½fÒýÞWÄöÝòtqý6¼õ ‡úí¹þÑž8«cjSLc ›ËèM®Ñ†K
+Çlk¢¢MÀøeŠ÷s‹BÂþ©>ƒo¼(ð45\<‰'чP‡5
+öÙ¸PÖf·ûç“Áû¼õlzÿÕùà%2¿=Õ?ÚÃæ鶆_»Uè‘«èƒØöf ÛZ Ʀ¾}d0^ü3ÆÓr>xgÁY\ÎHËÃsðO¾¡ìµ8_Ï]òóõò›vÁ4%åA»³àŒîÂð i»Ë~}Æyø¶6†bCqÅÍ=õ3°|{‹õ&–{àE¨¿ˆ}¶š…w×"üî…1ÈþýøÄÚõu%›¿M·¿ÜÏ3Ó"‰Ù¿i»-]ò­õ8}ÓԸܞﭻ}Vg!ûNm6XfÃño n×iúþÔúâaOð>£³ã7ÆÔØÁØbf5¾ã>=òmØ”wɳö¬a+š¼ñM;h팂øþ€ºvm¶ãô#°·¹Œhžñ2uœâS÷´L$3;z|«ïXcÆ÷êÅoÿò‡ë½™¦&Ç7x7.NñÉÇg~§v·—íðËhj¨Ÿ„ãòïºÿ…¸4Ý°æA¿\ÛyEëőÛÍQŸnX¿s¶øÚ ð8õ šX.òn1Ðáï§zA¼îÄðÔµç";xmþ¢_º½qÁL/þù8¶#ÎÀdzþR_;·Vý¼Ä\<¶£ù‹;´ÃïDJÝÉR²®ëº{<Œ>7ùÝ'Ô3½MèÓÐÏî[¨C޳ϟM´?a3‡{´5{TE‚öŸ§?yëÙ ¶e·¬Ä‰_^ËK¾¯BvàE™Â·'û³¿‡ƒkAù.öàl&#ñ¦¶(Yh=Ðíy ·Ë‘{Ù·üšú]Ñ̺¶CÕ—`ó¯Íþœù%h‘2ça/1÷›Œ¾W¯ ÷—ºož çÛú"’ÑøÑõ½,âr†ùTÔÆ¥9}1ÁøâÆrÍÖ,°¼v=dÞ½´mýÀìt(±ï—ÑgÈü2žV¤Ò>gžƒeIïqmÖZ
+¿û¼~ïÙŽGþ›7Áùï¾5ß}¿~ã]üÞ{ûÝ7ü»Wö·îÂwï×çý'žož—¿Ô¶^5×u‹‹h};}.¯—ÍßWñ¾£ÌÓ/zŒtÁ•û®m=™Ù[dúf~ç+ôO|±¾ùº1zñí—ð{ßÌßø¾~ÿ[üݯöo|á¿Ûøn»á7Úßm|§åòýoÈo}o¾ûeúö+öå7¿x¿õuÜb… ßï°²ôœ'A|U&u¢º?ôÖÇ>Ý+‹°Oø+âÉ‹±OCòçë¹<ç÷¿ _þ ï~(&ÿÜÞΠÝ Jzäë+bO—×ZãºßDâW¿ÿá_1¦{©­ûn
+´“oƒ¬WSƱFÉl€ÓûòØZ³›O?F7u,¼ê£#À‚ÖqóŒzB_>Nå
+´q†÷æ·~ž11Ç^thd¼ªçíý‚14b
+&Çèάó ¾Q·väÄÃ6c\"bsœïØYÏ‹_ÛLzÿfKwb3vÚmâç%¼Æ,¸ïb›e0èïœ'l<!Èžƒ"> µOm[¾#nj ÞÑZà
+ò~Úl1™ióöyº‡&·=cÞq—ðtöóïå g§]"bÜñÓž
+&⶘d]Ûž[°92V>C¦ñç_áKO§ËZ‘îqÅØ_cM+"òó™6íz\ü)o
+xp¿ïob^Œ5Ÿa>úÜ©?Yúó“ÇÍ¿h>fži ¬ÝÑAzGLVçé+<£%AŸó—ˆ¯¼!Ì[úÖ/þ\½ö¯½‚§ÄtëYEÉ8µo
+Ò™9è’ZðÞ²áu…]ý~}¯Hy‹Ã±Ù®¶À'ÁH|…궧i‚b…׌ g‘® }Îzo[ƒ;ÙWlóg•éü û”¾‚gÜ¥±Xƒ[»ËœÜÑÛÆš#¨ï³"æek3ÆÏÏ=’£ê–G¤ßØ.Á„UhzL<-üey†²•FଅäY„~úÙÛÜf°VO„w|ïQž럜—î‡'eþY(Ç¡Käèý)^öCà}Ü™ä‹Rƶ÷¤3?ŸV¾nRð©k/c¿h@rúÈrÝÒçøt1ük)V[~#ºf]¼+¨Wq&ùmì¥mºD]ÇT‚J¤¤/IX–ñÇöx%šå~]ôe]iR²ÇʉseÅùzE{Ös±*xARÝ5ÚÕ,a¸ YSm³Ao†‰FÜ–í6€Fh|ݸ¬=^û­•†U—Êäa+Q¬mcôקç>¾ 6Þ³W¸uÆ©¼¶m¤ÍÁÉzû`¹®1Xý±­ž6k±ÛàîgðÊÒ+L'Ýöºûƒe]†c{x0›Æ]%þ=LÓÐêsé´6e| ì ÂuDÁD“¡Q†kvÆ.>Æm~§ýø¯u!c†Õž;»ï¿Ý»ô€y‚çäö>/w+A^ÏÌo{Ǻãñ]9s‘àˆÔnv°Â^ ‡`<ËVñνڋ¼é®™$<Iqzê<ëÅsnûÑ?‚±dÁzBW8&=hk9•ÉúÍüSÁvÚ_Ûº´5Ì  ¥®Ždù‘o¹Õ³Œ£íÊ7Ú ¡E†ì9s kžjqxId˜Ï¨g0GÇz ¥l;ÃŒæÁPbÂ
+Þ1…ÂøÔ
+Ó‰yGÚù|žL1|{í
+ÜK›aÇ¥ÕœØ+è¸y
+ŠðÓòIGmæ~]|#°|q ‡Rl,ŒcÔÊ°î9 ú*œ[/Á ô7ªnk_•>u
+²ú‚¯m§®·¯Ü”NÓà“‚Ÿ§ðÚvo›¶½s:bÅ|žˆß—0×°Eý{'¢·?ƒcйYa0Ö š¯û¡Xâv3f æcè3hÛŽ“ ^ï·½ƒ6^Ýh£¾Âä!”§` wIÁkrZû®Ry8¬öSÛßG[¯ë
+ö2q°¢eÔyke„±_
+ZŽR ò"<ŸÛö±íÕ5ã
+2Þ4V¶½4íG0âÙ~Ë)ÔðT·lwËN–^Nñ[9óq–`6û~~lk %ŸÏðGk'æ°åV0ÛQ9¸²-WöÈÂ+è5c?ï‚ £vòyî±ëíb¤æìëA¬a |x%ŒMoÓd–¸“oâšR³†œîMÙÖ*nO½] P”àSü4äV8*#zpêö¨1ùôÒ!ì`…7nB‹zA1—}fóRv@Äø¹¬¦µ¥uLcdÒ† •ãP‚GTO¡?±Â¾šÝOµon}ºó¦¿zÅx)Á.ÜúøØÖÆ{6Œ-ƒ½Ju7­£Ñc4e‹®_îjO·<ã™ ‹Ì¾)Ê ²<X9ÀlxC/ ÏVûjÜl{íl dΘ|\A^0/3þÞöRÆj÷*ä»b^ã`äTÛý^<²ÕÈ4‰íî2…gmô~õÌ<‰Á§²lëEÊ=èƒÕï`ÿYk­½ÃQ8Qœ¾š¾”‰ùon†ÚvÕnõž¡áýª÷ÆË­Ä'T㘙òæóÓ¼ù5è//žÂmËÉ ªeâv”þÐص÷Ïè€ÝŸQØtÅgy®´÷°Ô‹µÕ¼òáðêpq^Gv¯øc–«¡é½ÝkÏä tÛüضÓ<ÜT®é3x÷ú„­0S?¶×Ù5pâÃrß½Ükipq|®îWÂçPkŽÁ öèó¾‚=Û}×ꡯ™¦²mc¸¿õš&çÕücœ¥1¹a;èn³Bíµ¡NÁ~ «ßœ‚Û¿ú‹?<UùøHUþ×ÿ¬tek³ûÇÙf§l.À=¹SuxWøë;Ü”Îñõ½“߯üþT _3仪_t{ ü™ÈzšÈ?»cÖ9´rÀZš™ì±“yáidô¶½Õwÿx<©–üïùòþ|IJ¿ž—<NoèѭߨJÛF«b»öÈgò gË~ñ‘Àá³7¶Ý‰FÁva-ùxÉ¥ žðY<4 ¸]w´¿GL´ú3ålóäÚC;ÊÒ÷3¾¢N‰‡Ÿ£½_Wg3_ª]^e"¸«“3¢vjìwFN–.BÈOPS~¾àùÅz$‚5M—äÎ;oðÙµ­×ÒA†m >†¸6«˜¨¬’Áø×Eðõ <èëóÆlQª×Ã|Óį
+3Ú:£t¸[浌¨˜aAµ‡<èác¿Ox»t`>4;˜Ñ@µàáâœØ:±K/Ä#ã…Òžà‘#¾2{ìôŒõ ýP·¨–¦N`Ðð÷àÎAéÓã¿Ï³ëù{¯ù®G¶ñûkÆ離zÐ+æEÐƽc—¬ÿ[^OÕƒ^»Õ·Ý¥çXùÚ#Æ·f|FÙÁhy ÚŬLн3ÍÓµ‹[æCœ­®ö£¦ñÇø([Ø 'ÅñŽmíWýʦ ŒþŽyµÜ'8"+J'|ñ$ÕI¥TA,ìÄ1noA[tT»ðj¼ö·¼ï¹Ûëý×b·²×E‹àžtf+¨FÓ„v~>:Ü-LFûcsã·SOÍŒŠ?º“§Î×D¤¼­Å«;l™âsrb¡³bƒ‚š…³°ìÄÑFF¿ïsãŠGs؃ãæcÌÂ*ö`Ûîq
+$Ú{³kS 9Ú½Î8-³²¾ñ{Õ›×Ùê9¼#•O8Öu¹c©{ý¥–¿×”éê'XÐê´ó·ô~¤sé;=öÜQ_”ùªð8'_˜"Ù¬‘±óÄjг¯cþ“ØíŒÜ
+ÛAv4N}\Me™ÜœSy&‚Žm/Ï\ìÀÆÞ³=Ý™Þh;Ÿ«òæYÆYr’Ät›Úi]ôñ¿³íWÂù43·æn$øÔ(·ÏY—xØïjyòa°c¸èTÜ* m*ý“Ì”­à¬Ž0;‚ü^‘…áG/ä±~ï*im¹Zpl´³ÕôµàRt@¼^Sc@á–ódÁýÈO›î¹åŽï4|N¾6æ0£ßmAe¬ûƒSAmM¾FK¾õ=Õ^'ÃÁ$ý[0[ÐÜA$gÔ'Ôv0ò 0ó°:°Îq¹æÙ½Œis¿Nä. DV€eYnÙöÛgËß_ù¡XGSêúú6ê/í4ȳéÝÖp]x_‰f3odÑ ¯onìÈv~¹„kØÀCþØL2zŪåº5‘ØrdÐÛsy¶×óXržMNÉÁ€)¹Ù„V¯ 7mR _ëñžS'¶ÆË“x‡s§^É©Øѧڙ,Ȫ0ŸWdØ-“l“lw-³¦~‘I+1HÑcåØ눥?õó[[ΓC
+c^_¼go#›ƒ±v»¸óÓ6–Õ_Ͷª B㙟Ï Èë:¢7CÕXÁ¹ñ¬–ÿìäUæf¬ü£SUÍ›6½GL[Tl[  6„>·*%:6fÁ¼«@‹º[,7[É@M•tãVKÝk™s«Þnü¼GÚœͨ‘kŒÒnŒ / öÆHF¾\ͼ¬0•›úIɲ¾fö_n£OøèCϻذàNsú\ÝåÕf²¥}öôÐoöX7v÷õ‰Iè51Å6Ío%‰)O0êç»Á{æPL"ºïѺϿõUÑòdØ×>–նÚ2Ö,H¯YË2ô#ò’Ôžæíîªýg7"iªDT ­~eØ„WÛ¯¾©OP()jù®ya}b8vpÆ
+rù¥Ä‚U¾ayÌê¼ó^’J[ƘÅçnÕö¶s8SûÓÓÙ7Æã]m½r”iP9ß,ªIóŠŽ¿º:ø¬“àä%Øòl¯Áƒ4TÄ0¬k]««5¹½mœxŽ3á‚SléËuÇ~ï4즪F†G‘ñ'M…·A;Ø/ZˆŒt 2ªi‘Õ¾¢LjXä™F¨õ*8v fª_„GQ3þ MÄCoÕ <ô™--ír­4\vazÊäëα°Þ²9VºË¯ð5Á¨–в[³oåÍõÖW…™ž,/éŒi6uVûÝCÿ9rïn2ë‰ìw¿rznUÍcÖU³É-;crÒÖúò›?·cÝi† nuä}ø‰ßSŸ`f
+ংãÑ ©îOÚËG´Bh¾ùŽ[äð¾7/8—mËÔl·9¨XrÉ”SööF¦Þë£èpgç6KæíÛÎÛEjf+,8² ³+{T¤Îð¶k{­ñjî|~ëçJCí[Ö̳ ¹-Ë0=HÓ趕gâöUOcï!“yðÖê¡Ê¤g©‰ ßëHh
+'qf×Ê?¦hÏýª^m}ðNÅ4>`¿ÏÙ
+Ûmv
+¯`:y
+z.n¨jÁ³k.ÏvÛøÐú üW…Ï Rûr¨„•ëD9òÈb¹ã>jn­+ÑÞÿÒ±‘–ëŸ%íÑ4äHêÿ3þfm¢L¬X»Pƒª8‡/”÷ú‚ÛŸï³´Zô·Ÿ?³ÌCê´IÑ÷´[~¤¶<§™1×9õL
+Ì3PW0'Ö„ˆ]™sË †qæåbþGÍìC `{lQÈŽkdxäùQ Æ4骘ݾsg{N0X8g-S¿|+…AÃGË•BG£ÊV+%R[É#[Å,îlAyRBìÀ
+öæìý8¨Q×=kºVï÷Ì~!)R¶-å.f–]4·:góAÞµ^Œ¢øš™HžŸé©Ú &’¯1ûûD9__5jÕZΆ̛Š
+½å'N%˜ì
+¯çÐN2œ)É2€,8ŽÌ¡¿²¢÷¼ñéæ‘­áK¶gRÕñ=1“¨ôcµŒÓS«ÃGòÒÏ`ìÅv›¹SJÇõêÂ9¨¦[/~c“xö2;©=µûÞ?.cº~¨ÊJ­ÂÈÑ*c:Í
+\‡ÂŽàD²[«G+ár0Ts¬"P#—¼Zn8çú}Ú$>y¡§ã¤*õ}­Ôù†õ±Æ¬JôMv;…ý|nRÈ}ôƒ'Oñ\­#«‰I¸ü±åŒ5–°’†Üîræ@ñÇÈ«8îôËFªÿÆÝ‚Öׯ)?7Vm+ÏÈó–å>l#3V}ÛtY"Å‚ï-ÕØ R1¯Ö$ 'Urk¬/°õ}S8(O¼Áž#fÎߣ—[K]b­ÔÚÆbb æÓ}ÆØiW›éä#l Ò™›ÿ
+â:pÚøVõ›WÑ»Ú_ùJ¼³ûéVÜ ÆQSá‡OÍÑ)×áèÙtæ`#xN®­g1Ò<'º >Öûh¹ƒ¹úÚw–•Î(ëižðÏ—œøš]UÞÆܯž–¸={éë"d왶¹×7¹5[ü2¯®¾B6² ¯ð& h#§álDiew,÷öÓˆº
+qïh·åOÄôµªŠq9ÙÃJ"±¡¯ûTåG–‡?µF[^CFÔzþ±\ÅŲXÐÓ|zæ§T<ádj 14º³_åÙFáe=GdÛ€m»8¯L|²!_úÜkèjOÍ>ê7ãÅ*¦í{=WIfwô3-hK┾gNøÝTŒõÄÖœ”dó–zLZŽÌ8¹³.ŽÍªÐå½j
+Ÿ6“©SÈ8«Ázgq×7+©]Q¯AºŠŠá^LÒZ]ÆnsìÌæ”O®ã¡ÕúQZz6O½ñŠ¸øÎô5™KkÍ J¸³ã®U£|X÷$‚®ð®EK,Ý q
+x5wÌ[~U˜â‘w”€#8´_ú½Ç {sÎÉr&Ô¨»£ô“'m¬÷&«˜¶”Ôî5ÁñD{V5ÏJÜøVÉV£ñÖ{G¾*©,þfÆn5£àÝb€Õ{<Šè^‹P5ûÎ)BšPz¼NÙ¤cpGDì`dßäŽ
+N?½Þ;ØŽ|ºàœÃ…§Þçss¯Æî¢g½Å®”Ò¯¤½U…Í OG[¥1îUJÖò.ó&Ð>h=kšÝtî¼ÂïA¶Ú’DîÈÍøªð!óúÊ
+än«´Áí=©ˆùÝYã8~?òã¼V²Èg0~òtíóØ󂳞¼¸µE^”Ö'c]Áû¾ykÓžYyèZó'Ïngw=›–t/Y厎hìÀSå¡Š%ÝŸ\¦„-˜·ðÌô7ÛïÉ~Y¼g;Óaº#Ï3‚×Î?s ¼ØÕ*Œ­üü“ªrþë
+ȽwÖì o‰8è˜é\Ý) ÞZŒ3vJËÙwƒÆv\wÔÒ9¤rÓ%ð ÔÞk‰^Çâ¾TêUs³V4CÙ!íÊڶ̱zK×J·0-Ü ÁÀƒƒå?ÔˆòŒ„é–G`e%O¾´6ñ•ðA}yŸÿ ÌB;תÑq>ˆáxµN],Í›‹ÚР¶’(žâæa5c¬,L¬[ï7G'¬4Ž,‰kiÛu1+ÖÔUýÉkë00u1kux´˜½_[}T¬æCwZÏ—Õ'R*ú[k-Ý«0·…™1Íúwªýeβ%{ÊàAWá¬S)y±ý–‹²ÍÝù£-w
+A¬D_¨ÑÍ¿²RRBõrP¾=Õô²Ú¢WfFD%|¦1¢ uÿÍädšOc¶œdµ¬Dì=ëokF÷ÎõÕ·‹dÂ-S4ŽôÕ}êôbzNÆ$µŠË·gÀ©uº~dÏ÷+á›é˜<ˆ^ò#ra¯Î(„˜_«"íÇ~¿ênåRøÈä¯
+ߙλêNß'©Cn0EpF™Sòå°pf§â`ùœÓWä¹}{
+eñ 2sfÚV¾¤ß—ï•;wavÆýªð9S¥°šà*­à#_¿¿“Ø»éþöÒ¢í¿* ÚÓãô:™ƒFÉ„‹aË^TXßíÅIJVkó^KŸ;Æß=
+6ÕÃ\ÖX‹0ÜY lkµÿ˜ºËd¥¬ €½ÂywNÙß¹„ö+¸¯µQWøZK=ß™ò
+Ò÷¿Jíu›ÎóþØöŠ…Ç¢7ußÁµNV tÜY /ëðĵY`gmëT 2/Ø–9eW;òßu͈kÑòãS|d{1W¬V,¯¹
+²­-¯ÈÌ|ïÒÊM—H¿–ïlgtÀ~Òœ\®UÅ,KU0àÔÚóÛž •3ö,+_Ô0K ­õ3­º³¥ZDã¶í£a>¬±tÛîÉhVøl±×ºE+\Ö-”À¯kÍÌ©ëy’ ³­¥\i±–µnQ Öu‹Jx¯Éh{o*«œ%£½ô\ Æ)ŸX¾·l»i«g KÕ°Ý«¤ùHxܽŸ4yØU¦<W 4ï rŽ
+m–à/ÙW J”mm±SW ‡¿ϺŽõ
+lOYîáIRe.¼4J—²|‘OÖϪÛZE|¼ÉðôæEì †s®ósݤϠw{ò2L®§Oj2ÈlÇ®êÝ+˜ßT½eÛ¦Äk‚ýªë• «… ¥ +™´¤M]ÅÈ¥mß?¶µÂ}ñT­•‰v+[Dy­bdß~µ(ʶg$MÇa];Ë°†÷^> &¨p_u5"HÁ›ÙL”zäKÆ·sí`g1v/˜O¶Rz¼ ½’ÅóSk³&vXô§YFuc™Ù×#¬W>´/I?H-¾£NˆM¦ìm% jqQŸc9YËéi­d5‰WðyùášßÀb«d-C4ü%ø‹™Tè©n{Z«ªëÒ©³‚×Ïk‘¬=bò*^Ù-Æs­’•Öóðu.ÿÛV7
+‹œÝäªF–yå
+ƒ#Ê­à/ù|g[¥¹lkåDO†ÒZ1«œ‘ëøx‘לº˜ÑÜßð|<Wп ™Ÿ3ºÛȬÿ ÍeSýÇŠ¨çºåjg–²nYÕË=¬]Áµž—QK•W÷\lØ
+Ž{®•Œ^ëy™£×Xœ‚5ºl¢AKeµj|}‹o¶í”|(ëy­àk=¯W8]£Î.m[+atÖán×$ë¤åB•WËe7t´e=¯,ëy•èZÏËTÎCÁÌ'ê¹ °‚_ècæBÚ“Õ³‹êCË–Š3«¥•M¯´æ6êú$÷±VÏT×۳˖§Õ¬Jù Ûò¶m~óñî>ÍóYÚà*â2³±%=~¿¢t±eÏ'‰]Y¦=ßB›~É‹l V ^k¥f˻Ԇ¼YÈou*}*3v0rêøÌ™_+@ Ô¹–ožåboO_y®&ˆ2¤±|Àé¼õ™…ö˜ÝcHá<âì‘Á¦²f»?Z¿ãvíS›âŸ˜:?BGèÙŠ.Ao^p·WÙ`_£y׫Áܽ¯PÌŠ)äZ'ëÇ•mŸ;¨ ¶Ú+è¯ñv aº––ñ+è•þá›mwµÍ»ŠLG+¸¯ º¿ýg²UÖ²íFBõ ­`…FÉ:CÿýFÞ·2f™½Ö¯l׶ö|=û\„voí#x—%ÙJøȬÍX=»Å‡Ì[á^‚€dw«nk¢m,еGë;xÆbð´kW˜Þä~2_h®\¨ˆ¿1HªȲe«¡ôô”Ãl™fxcµ¦N¦íŠÏ†þRÌZÖÉJ ÜãsMš–Ðe¡¢s} jÐ=ü˜d8—èÉJ×V“¡2µ`#Ä{©êd¹g ÆÇÍ&¤·ö¼ÊÝ+á;³õwÉ.Ñr£kÙñ·æÝÓJdeÛ‹2dvùd‚” éι¸ó
+·,ãÕ¼«²m¼U‹Ž«s°òŠ+U¶Ý~f¡Â}ærË„\£àòÌUÃ%;7-¦¢ g«Eûð\U&Îͦà-œK7•:nd…¼ƒö˜¶<öõI€÷N5!Ö{‰¤ òa süµí¥BÁ¤|b *M(?m
+g–÷¬ÈgåK]ÄDµ· ÛûþØ{×åºnkMô ôü㪤ª©àÌí_¶r9û”r9qÒ®®.MQ6;馨8ÞO0.ßÀ\sQÖºÈâ"½vÊÞô˜˜X
+‘¿:
+x5Œ%ʼoü ¢°î”@ò„ÀC 2Á(r}ײŒC˜S̹ÒF&ì•@;oªØä|£dµ¹s„ðdµæcPÍÀʆ¯I=>¶$K@(´‚óæOrÙfÄsf*÷´€³:¹—Äb~·rR¡sæ{r‚Ò-D€=k5tÐôp9s^QdsD0e¯9±™®a >ÀÚJ48 h¨lXõ SaeÞµ,„\ãj²§Ÿ­h«ÂÉl#i<Ä‹ÅþÒb@Ø@’×H› Ö'ÇuÐTfAb¤æ¹ñiåV[i +0ÊLW'„°tãQ‘˜”²3Yƒ_9¼}BPšŽš3òŒx®TW×ÛŠcuÑ«”màD ô:Dع2„àJÎöÁ `J3¢tPÈôm)qå3˜ß@ilu‘7TsA"†TÜ`¥ÿ5ß{åí¦Ìv¥m“X>éU…@‡ln­­„8ÕÓg7ºˆüÀ)h:€*Ó:C'*—\–E[)ç?j4,<Öx´„ˆ@]ZFÒÒK¢±”±÷—X#2vº¨©ö›ltýðAý® Éë^¡Àæ-qüYÚÖj¿3¢FúãHƒÜ¤ªt*.£ù9Çg%Ôlß$<‹|Δ2÷›§¦h"&ZbùS…¾k·iIÖOÕ¼æšrp&ˆól³Y`% ÕXVhTÆŸM‘ ñÛT²Ÿ®¥EË¢êÚý´Ž½JVƒ–/o@ÄKfˆÙªÁ{Í¥Õ·bÍ^aëxG鱟ç
+5”­L§’_VˆÒAóÉjÛ$&µÕ5˜½œfä*©§BŒÕÁ@áue5ÂDÆjÞ\
+ûðQ9
+‘sÑÁ ;-&;û±b%È]¬[C‰ÒÕqaÑ–.«ª+«@]s"‰®ú:ˆ|ß+ƆÕÿ k_ƒÞ$Ž'Έò~EÝ­Õ¶š·FD­¨ÆQmE+
+œ&«ÒHN ƒÙ}4®™ì³ Ò •«^_q˜‚Z9ùIb˜Íœâ}mï'N÷k…ü6ª45ÌËØ)I²³ ‰ÊbÁ>ª(‡³u%ÿ•1G Q$E!”å×beõ‹¶W8)ãòë«ÄÔø9™w±³Ád\éÂU—Œˆ
+f?UÙ´ïp´;‹åOv
+-õ}Û̃µBF>M¬jtRE€‚ðCó3"¼­%ùnmxÈ÷èäË‚XWý½ Ûm•ù0 8‚F„:]ô2m)ë¢T0` ¢
+"ˆ
+Š©Ã¡ b¹D5.t…8‘ç_ÈÌ*’,§h.=ÖhØ3#«ÿ]ûl-¬)Ö^M„JÄzj®Æ¼mS[
+ƒjã©!¥
+‚²6ˆ8-0ÖÍÚz1Q¡Wˆ\ž  2ʼkÐ4ÓàÙ[!rÁi€’džk;™4œ8p½Ìˆx_qxæm"Y(üËêÄ¢<ˆ`ûšà=kkŽ¬m蜛32e,44)–7'¤¨P¢qÁC_m[+l8ÛÁQ¢¶Í—/©ÛØË…åÑÊ.€½u>…™ùbÖ6BZeõXÄ0K‰š‘ý(ðíõ@æBõðR€€ÚƒË Of†Ô¶”]P~,IJê
+±oÝQ‹B«oq%²ŠjMâ’É/Ga4H»Ðê[ ÔmP7š“êªaùQ6ŠDFƒ+¢â,ÎÛÖÙ ƒ¢JöB‰áV@ÆY¶å°-­¥É ¢â— %“'€‰
+Ä!K°’¨ÅÂEY`Cy:-Kù$*FM`Z!rPl‰ƒ èõ•ƒNƆroCf§D—‚úvÖbÎf˜Ê’˜¥~ïª5™ãþ½·R®dEb` k4® ÷5(TäœÁÀêhÄUSà¼me"³…¢®× 2аf½f+r;#©å´A¥ýÝlaLKL¦¢ØÐ{¼Iœ3 %(t³Z€+Ä~]b
+‰Í
+€f”½‘<2=óÔ㜈´¤Æ¼- ©"yéóâ´ôùy8#cž‘’æÄáŒô÷µ½—xï°Ö•Pþf>¯„Òéóˆ¨<µºZQôÈe[µvÌ¿Áœ8û^ƒ<û¶i–ðd»`Ø+VvÌÐÝf»+[mØ•}âbÏ‚<¶·IA³càfp¯v`a
+×\!ƒÃRµ» À‹i¬÷ðí{0oëÕ•ËB…fŒY¬Œ¥oe&WÚ¢Z©b4œrÑà!È5¥‡ÒõžÉ3
+IKoúÁŠʉ´¡,ÚšÔ?mWˆC ^!Çy•ë¢½B¸^ù©!ˆ{ƒðž í³S;ÄûA\Qfä¡6P\*»CÁ ŒÓdÆSF(?U çm“ºú¥î˜äIN¸7˜ˆ)hYñyÛ¡:%¥¢9lj®“-"2Ò"jæÎXŸ‹(É7'ªö‡šâ`Q3’sÚã4#ÚI’í9këL¬™iµ3â\ž‘‡¶L¢RWª>à,D‡ËÚ"œÓ¢Ç¼`hÀ^‹‚
+YM1Þaw9­ª|« ‚‰8ÌÌÛVÛÚavš«¿$Ž)¬'…›,Âi±
+¢ÅDDw1ø4#Ú"
+ï[m‹•M‚³$²0²ü
+Ià„X2cfÏZ!2` :dýd
+ouqÀœ)š+‡‘PõÛÌÚK6ª1
+²t0'#=Æ)ª²bg\!›ä
+öK²Ÿ”6ŒŸúCrùÌì¡ä*u–#íH,Ë0»*w˜µÈŽ¼>'#©…6SXšˆÉÖ¦›unN&»X…½ÅÚF@ŃŒØåÂ2#J`¿ó¶#­AúV‰sûý Ó•§Åõ¨W«TŸ€›«=ÃàšñþÑÖr¦ãšĹgÝ$èÊ4¤pžSÌù)h Íl$} ×¼%C(¡ŽŽ:¹WˆlùDƒÌÕq´WœÑ¢–„cèÎÀ„ê8No4 Â'bV—ø
+‘§Š%üšû¸2c½h½aZh¾¥ƒL%ÁÛ¢m‚¸æHì :ÁÃFy„>YÄ>'¾«sŒÖ@¿–í#J‰Y[’XÔž¦Å7ÑÏeÃ9"©¥'̤#~Å¡Jaó’b4o›Q‰gæ¦]!—î
+î_Ëo˜;ŠÝPëçNeÎôt¨×®hb;Ê'ÂU=#Î}+d¸ÀG¯C÷âÌ8Tª6-Í’væ-yYQt\=Ê3¢*Còþ ‹Íít–LÁL´|qjIÜ̬ZÅ<k›Ä&פ®üÈ2.ùˆ]8Èà+D­…D¿$y’JÃï—Az´ÄPµŽ¥VgµœˆÅf YÛ@øS -uFl’ ‰@žÆ¶ÌÂUƱÚâò pØÚf­Q5˜™çÁ53òÄ¡›Y!XFÈ]niJ v€JZ³0 ÇBÅAðRËEÔØ¢ÏV¨ˆABÞ™{…*±äëAMë9‰”•ê%©›ŠžDÔ½a»ø›y Òq-€ª‹V­:n¤ÉfLUg°+BÔQû²Y…±È)C䜌rËi-s›¾§¥‚šV
+Ù.s¦×‰ZÜ+´ë)2e”QÖJ^7iÙGƒô£*ÆA4¼`6òQoyÌ~|C0÷ñ˜ÓÊÍEE¢¤æò¼­Åèè…-ÊG‚!ä<ØìŠ+«¸4 b®fHꄨR+åщ’È=·±Ï‰³¬Q3dÞ+ÌmÑ 8 b
+j»Ÿ·¥DÌË Ôƒ¤î¾y¦T€,:²`ï¯J–TŒQÕ«4K­¦m õqgmg§‚jÕ´ šgéõŠÝT8ÞÜG\M71òOÃœ8,¼ñ¾¶÷§qiz^X±Â#Ý„JšD¨'À(¢ja|JìÒ4‘@Á~QK6à0pù€z Õ(”£+M^o¸}FK*Ñ‘
+´­‹Ü iVëuND‰Éà*¢ÜaÍØdvžjüÉŒ6ÒŒ<†Ov).V$ ÊpeE‚¥ç–ò5_ä()Ë2f¢ü ÛÌê–¬ìT…¡ éL£õÀ½YÇáôäW1—w.s>
+èæ˵â—ÛÃLö…Na„`šI’2³mîΞ5Ük
+8ô+óêòî/g—Ò¶ßyv{y÷Ý›‹»Í·Þ/öî|<ºòöfâ­ùÉ}È?^Ü~{A+ùˆ„ mYÇSü?ß
+ÍæÂíÍ!³•×·7o6?9ÜøÓËéï°o4msÛ¤´þäó¹½`pÓI½zuywù¯ÍÕ©ñ¸®7Ÿ×ùù»7ï>÷0ŸÙì•È׺¾8Û8ýåüìêü7¯6ŸÛxáÓ§Öm,[̾~þO<…M?àê[¤’œ]_¾9{°Ò°µÝi;Øfwþd‚a6ŸÉc³~ƒaÄÜ»Åa9ôcÿd‚a6ŸÉc1è<ý`˜ÍëÊ=¾h˜#†ä_LËŸ#æy|8Ìù“ ‡Ù|&ån=†ÃÃaå2ú„Ãø_J8Ì<ÿÐoâ'³ùL›Aèq†Ãl±³ýŒ<™p˜ÍgòX$¼C ‡9hÿÏã‰æÙâÈmË<è>ƪ[Ä¿ÂÏö~¾j"à#ü|x üE¿øϯËÕG¾ÞÎòµ‘@ôx®¨Íe¤jÑ“,~¬“säh[p´òKæhOþÈÑŽíÈÑœ£ý"Ú‘¡:C» zägG~¶ ?;
+hG~vägG~öøùÙÜ©óõv^ø'ÆÖ6žü/ȇw<6››úK>6OþxlŽÇæ/—ÿ¾¸úËÕÙ_o—xˆQ, ô©ëK¸“¼qô¤ õ¯[PÎÞxLœïöâÍ͇Êk½B­¿y)ŽÃ/öòÔÊŠøÿyp'>÷»“þÏçýïþÿ?ïNžZÈö±†ŠÌë‘ÕPyû=UQÙtv©†Ê†·õG/ ò‰§yyýêâõåõåæ.Ë~R/Îî~»Åu0{ãà ÄŠ õ¡¿ÙlüÀ#õ·™Ëc‰Õ?,—luvœìèU:øDó›7ßß¼íéŸß}à°?>Öð¡-õ¸f/ðåCØØLøÏÍÏÍ?âØl>‘„ Í'Âü°ñD>0åùDüAOäžÁùDÒ#áÈãòÜR/xLWçÏ_7ðSÛŽo/ï¾{sq·¹¬ó‹½C‹c§{L
+ظþÛ1#ÿ“¡5_ý¸yø×°É6ŸÈxé|"ÿ>ppèÜìæõë·wt$n/^mŧwæmtüÿÌ3ýe(
+šÕÑ$þØLâÇ/=>‹¸;<“øQÝÛ…[¾£Â÷‘ÏÌQá;*|G…ï¨ð=¬Â·±€rTøµÂ÷TãÒŽ*ßcTù6®ÃñøT¾§vÔøŽßQã;j|Go›Â
+OEçÛf&®õå'§õm1£G¤õý››WßÞžmÎc*ߣVùž$"ÆV9âž¿ó+^l¬þ+^|r†p,ãùS9V¼ØóRFˆ'Á›õ;–½¾ê‚¬€,ÿÇ7WgçÿüüDH7ߟ_Þýø[áÞÞýxµ¹[[úDßm
+1ae‡²®ÿv{výöõ(‡³ßwj]PÛ1ßä1XCdjŸD=ÚC~áöŽœûâêê¨ëìy±šÛ à~|+ø§Ï¾øOï¾þÝõ+ƒ"R&Ê׺¹þKï‚Ë”œ
+ùË‹o/¯çžýé{íƒ}õã›on®Øvqòååí«_?s'_ôþñów³ÿ¹“ßöþüÌ=¯‘þïÄ=w1‡)ÑSsq’h›çEÿãy‹SðåägÏFPÎ?~ìÿñÿö?þO'ýp’Nþxò¿þ·;yE¿÷×g§Íçéy(S>i!¸ç©ôŽÞ¹Ð´Fäö<6ßN¨m~bNóóäƒ'bjÏkp•ˆ½+úëœ:HéyÌ™úMþy­!SÛþšŸR$byžRLtÏs©Ôk
Ï‹÷Q:ˆþ9¿ÝŸ¶:qÃø¼¤ªDo=¶”õ×'?Múrz>E jš\Ð÷£µõ¹bà9Õç)¸Y¥Òücykå¦ý¯©éô³öÙú: ÅM¡éËíyk­
-Ù»þMˆØ»Ï>1ѧjJô¾‚æ^žWÏ«ßÉaòúë-5þ­ø¼¶”&!E7}»>o5Ò:õ5ìëÈ¿Ô—,õÿ%"m™˜˜û:„(ÄÚª·ñ×Pè§B_¨š›¶mµðFéß®þv©ïƒ’y›ä¾ÎíäÅý{êå³oûFŽÅÕÆû×OÅ5ú£ÿ{ô²iµh—·œèƒ¹ç5ó´ŸiC†¾ýûJô>iù2öi~^2ï¨>
-EUßÃmbžˆ=üâÙï;«ÿìkúÇü•þ·¯x¡ÓE,nêL–þèGºïle÷©ºLì¾/V?>'ÿø¢¿%—i
-z‰9¿Ö}|^ÎmÙ$e¬Z?—.V=$çgå±Ð
-sµ³™"ß®Ÿ£šxKÕÖy[R†0…©ê9—è› 0;•.bÿè¼Ì}'µR¹‹Ò/‰‰» íë„SÑÕÓ’žŸÜ—]ä¾Y]àÖ½‰OrýôÙ•äa«0ÓAºˆ®YOæ(úÎòYûÌÙ˧ª±EÝlÍ9Ý
-Kí²Díí½‹¯ú?ïÿL'¿úõÉ?þ‰Qoæ²ÔRÐ}‡g÷ÁÙûØì}hö=2{˜½ËÞ‡e÷AÙû˜üÉÔ V%¶¼[Dô¢MVm
-ÒE¥ QîÞèÐú¦(*¡õSÕu&Z'w((Ùc™×[ë:wÆû¦»›¼9ÈXºüJ2ûKÓ~X)êä~¦ttÏvV­&†ê…é
-[ZejÙy¿]Žªm9Ñš™œCâ Ù ×¢nÝàŠW¡4Uì•…J$«í KôhÛ{Õ­Û¯· Rm´ƒ¾õusímE7‹Ï'áð¤ðx§úZèÿ«Ç¤9(qS,ºtzôcõË¢ÉÓ‰%@X&>¢ï§ª +i1x?øªH×aqX¬¬÷V'º´Ï8ÝX…Ø`Ò÷YÍz©jl©øµà¥ßÌö%v®ƒÉæT:(“éÁQïôÞ5íª/´…ìñzH Eem}µ‹þ”wrùõµÎrùõµÆZõÛ £²•Iuaáƒ>‹^ýô]+v–Kß5ö£®Ò-‰át
-¢Á–±·làíz*^³"KÞ…E>b}›Ñ†ÖOé¤ÒiÕÀâÕ¤äD‹ 맡¯˜œ–RdN©Da±¨Y•4„Ä\‚¬=IgF&ÜÈ Á÷®¢œ}²«¦IXµÉÁë¢sBÖFBÖýMÔ”‹Pc£Uè[8ó<m ‘WúÅœŸÑN§L]nòY[¶hœ.ÒÅ@óõd(”=J\•ìíLôIÙòFaò,dè’ôÖ“jiù5!ê­Xú©ËÌ’½šáäí©ów1ãÕ~VEÞ¨ý
-©°XÕð>.†B¬ª©,ZH©Ð¶C_»¨Ä®Aë
-b—ôfIdèF)ˆ,DGL®LÒ{¤×Ë]JÕ–|i˜Y?b¡M¸2›6u}‹
-­BÌÓb)özJI%׬¬ƒ§Œ7A‹©–¾2 ñ³3³œ Ę¡ñL9€X+æïçôËNÐÑ.Žç\DëI—°«¾5ë7ðÞÌïÎG]@¾ 1¯~/@aR.EÄV&|DÝ$ÖD]l¶ß£5)¹s=Û1ÁC¥)ê+¡î‹vÁ^)Ý1“Wý‰G|ð£’éJG·µ&¥šø̺LÕÎöwW¡ ‘.†sÃ+&wýªéÙõª« wE£%«†-Wgû G¿xµ_“$RÔ`¡ÙIê¬Ñ´*n‹;LeßÎdô,“¾ŠxAœÇOv¯¹b )ú”qÝâÇQ3OT ©OcaBˆS†„Ñ„®Kç.O°È)’ûŒERº·Ä‚ÐiÅîP¾à^¨A®JÜͪmq‚4uˆ5¨à
-8DçàÊüøÊ—ÃP‡¡óú¦v¾w|°lk‘ªx„¥êuY‰»z=QØ!5tÐ7skó÷e’)<®ÿV«l~# ÀgÃÔ&éjTSYÀNBî"ˆªK}b}“\M|7‘~~H[ˆ]+˜„Øw„vK:DÜ
-}Û”¨}™ä•ÆÖ |'Ö/OŠ›ÃuçDöôMø¼l ?‰dÐ7…KäÄœ³“û]æ±=Eä¡«9bËæÂÖ»Nc­gÆMlUõE6¤ÏèD4è ß™ ¨:ž»§Áûº «²E&µ¾œ…w¢ƒ{wÁOJ¬N”»B»×k¿ãrïdí„œD‚'âÄ»ƒˆýGÐpTni3S™€Ép‡ub–ÓìY^…‚í„Ö_«ÑÞï¼z?'SÐï£yQŽ™¼éÑyb馓™E±ë[Jì:¢hçL0p³6M¸s³‰ï"““ÿ¥’ÕッŒ,®N"«íˆ¥)1DÙÅ8L-iËCšT3‡WËÂ)«½Mîp7‰©ú”ÕÞ¾UF%ÕH¤\¶ ¨Í¾Lج g%OSõFþYÎ…Jvöhpc¹+ºæ¬†Ž>ÞRÔ@ßÌÙ7Ÿbw@òøÖ¶?Ðõµ †Þ²zI¿D],R >ªé½+ÙÅ‹Ãœœ "žtbœpØÆ.4QS”,B9iéM>eß÷ÅCuï-±m)ÂZ:ËØ"WmÛ,¹˜<1,‘¥Xÿkª—â.ï÷}˜ÓvŽÒ¥ÑVú¶ŸDðdcS(KŸ!Ìî0"G±Ü“3êþbuºå }¼½Æq…°9­Âv`"±]‡Û ¡ÿDg^ª
-º©BufýS.›¾ Ú¹U.bò4ˆ>Ü—1xøP&^Io¼º`8ÖBFP¢S•¼˜¹¥“û¾-B®¤†¼TrmMµçÞ|ü5ODsüçP ÿ0F6 :õâ°àñR­$hÈ4ø£jÛÌ›‰<Wè7‹¥‰M ,CÍeÓ “i‹¿Tª^ddpi¼[°Âdqž ±‹nˆê 8¬0ST+LΪiÙïÚVuòÞRB=ˆí½ßåNV±ON¯ b^TÍC7XCCgd?vOU]¾^*¹Ö¨‹ËÆÙά‡‹É©™ωj@²“ÝÐdµr5ÍDª—JŽ¹"4›I,
-ʶؽõqc[îÒ{ôžá,bv9×½[ŸÀ…9xïõ:9Á¥KäZ`\"—ÃËû;Qï6 º&µOñŽÞCŒ’‰X7-tSf½·h¦+Ù¡«=ñÞ¬ÿÜ‹1ŽV´‹âÍ@ä©é8Šˆku8ÎUtPb„í.[‘}žfÝ*ÑÁEݯ5Ùê
-Ã1ù¬`r.×2#cÑûÕ<ÈÐZ«q-’ü2zæ«[ÅÜ\Яó6ç -X¯jˆ%1KL3ɹÁâ¶&9×D”<jIá›&Ûö£(4ˆÄ†F ÉÉSƒ8):P£´H¹ÍbaIzYEצ޻û8„ «É”:h¦̇U$[Èæ5&I;9HÚøjÁŒEî$LÁᕱŠ5ymLCåq„†}Ê„4á5drÓ¹H(IWÆ›KŽÈe„l"žŠÈ2Ó¯<|ÜlšŒ«và'ðR"˜YrÂ9™2æÆÞj%F º¤€cYm`³}N‰è^Ý‘ƒ~;¿¹¨¥AEóÎ~ ÖŽ"'Âô†ôu¦Á´ú÷†R®ñ)¤žDSI'1 0oñ‹Øòà"ÕtrèÄÄœ
-î¦0Ü~c¢m¬·Ù
-SBšVÓÐúZF®Y"Þ¥­d?e؈‘.—ýÌ'U[Ãà¦
-5³ë}Hø›¢©ŽmÒÅfA&í`˜IûŒØˆ "“TCàÌ%bÆGÊ3+OP×Jš»EªÜò5J†¯gû
-4ÚPí |¿ô~E&žØn*Nd4û“GvÙÞ "G‰ ± Í"ýØþäàë­Ûl§¹8£©§ @ë¶MÝN3K„¥¶bþ:¯’ý–ù|ñø±ièûÞÛøêZ?ev:ÉzŠ}ÞÆ–Öq[p³c´†Á¦±m¦„ï
-6CÐlpÖ]Ñ3'§¨®RÊ® SLìòMšÖHZEÂ!AÈ'©ÎXP‹C‡dšÄæ"T ’Ô¥ñvûýŽŒv¢JÄŠ9s:óO/_ônØWõ)5 „ÖO>¤hl[ª¢…dôlÙ±DŽHÚ2_8² 4õ+Pìz_ÖC§©RŒ‚ƽZ#ܬÈh[/;€ ñ; d(ÃÑ8#·Ñm±è D[RÓw-Ü;ìIÇ|«¥‰s·Å†0óºW¸U½õªášÜ3ïLAÑÌçÝÉnE”Ûzo¯ªÖ`¶m‘G‰$Ÿg+ßľ|¨Yœðn˜Û©2Ä’
-c@¯l¿’,ÓXn-ÂÁˆf)d“ƒkÍÖ+|Ðye
- nÿ6aPO„\é\CbTðësk †'œüa+ꦭxB”JÓSÎz"¢28p\‰ ¹X.†a‡­f,áL(Û·šØÒ»Îú-É, \<‰
-uˆr8&Ô¯ÆkJs¶q«iØ!`ºpµ¥/<f„ OÙdÕ²É5å€à<ÀË4ͪIÔ0w§k‰ê6 ^CÒJF¯~²ØƒæþxÄÍXà-ùÙ=ìHü»Ú´YÌ‹æ0RK‡Ê2ÍÊ!¬8ôk4Æ'ì1¤ý1áì¬îÄÉ |ëU6³ Avë,³¯ºP{Û®'0L7‹ºNv
-V0†äŒbzFJ‘M^c‡‘'Hfˆ•øy %N8yÎ.>’`nÞ«·¦Q¿ÊƒH¤°Ï åY˜6jøÌlìÞäS6uêÅ3( W{7@Ns’¥
-†û¹ªÚ³ÅÜ´§0f5¨Éä•6ëz2q±9?ÈÙ¤Xü™)=ɱQ+YSö̆(P¨ A-ªÉøã«×¶£à“¡@133²‰¸ýÈcÑû‰F9’â –ÝÍýø¹.­¢ô‰OCå
-;Ú:#EC¶™˜,DE>Þæ¶m¬“&6NîD›f6d
-_ÆÊÔd›Fö3WÉÐv`‚ “¦vÐ$üøt!å³Qap
-èî+‡ÝÏìqp%Ó9³&¹³„j¥b48šø¢6¥Ymñ
-”üTÂðbj<ëeŒ7l¨ ³ÐÎ4c…ìŸòml¦=ø0‚@5ç„•
-ë5†lŠMÅhY•D ¶~=64G X0ÛlçÜ;>à ¤PpÁt‰¦ÎÖËd…„~WŒTCwNÑÄ9.Ë£ÛÁ"úày[˜©X¼Ö-™f²Ù8÷ÓÈfá#`H~+vµ?½°>½6²7rû [•ù²ÅÒåh~…U)ðåý­y.},Ýtx3¼ûTaåµ’3jkœÈ¿3n–×™À¿¸YT“JlóíB(’s/ÄæQÑ¢’áé\;`©ªI(¥rªº§¯StÌÏ„È×y“
-}³ÄÕ­y­DPÂW¢ª… ÑZûë¿öb C ;U*@Ú0šY¾üzk̆JÄ ,QB'£nLe©äå}MG1"ì&çiô#JŒgSˆlacˆ‹r13­hH£²%´ÕQª§Š!ÝÎ"¼ƒMT†Y6NF®aÖZ5íňG¸+L®t ,\–»
-™-.X PÍJR¢C ¢A>„ïeÞŠJÄ öíƒE
-@åjÚC¨ÝæŠÀý0’s5´Í¶
-A’D”\QÙ 1ºêéS¢±%g…Êh‚·;Ìl»DΪ5…Ù†‚£0ƒƒfr™bq‘¡S¤
-Ñ`)ÐCÌ}uKBpB”"ÛB³B D.¸q[6öÕÏJd5ë´IQNCIƒ§¡æÅ‚ï;«Ò…4®dé&¤ÿãh‡ŒnÓ”q·¦`uá:Ì7gÄûà¨ÉgT¿¬lVÂ(jD•¯Ç€ÍGD
-» ÂÑœ,ܼjQ5î՘ب9Ed»!BUy &ãƒ-[¯ÓüØij§Õ
-ŽÖoã’¬ßÙuµB.ò°Ú“û+Áqè©)¹¨ÿ…Zâè3«²OæìZŸ_Óˆg¬³jÏ<
-°Šáë¥uGÔnI'læÁLê4úHÕ[³ÅDÖdQ#ÔÉ4#[Õ5˜|‰˜•dÓKÙ®Ò˜Æ"£èòbØ'³>£Z§‰k›°˜*V‡•í±O!bûdž¤™hš,ý JeFŒ“‰è!\UªÂÚ`qT¦i\u(48JÔ­Œ z‚"]ŒeZÉHž>ªRÛ‚ËÅ=,‚Å-W³µ$‘
-„\Âìój)"Þ!#;„NÞ!k x“ù`Ê: <±ãâ­>ͳMæ-¡®´q凑gKR²P
-³ÓÙe¢2ëÀÎ…Gô°±Íd)˜E’^MÐENá|yœ.»ÆÚ™,¢ú µŽØβ(ëеàì ôÁQgk¤)ân’YäËHg#U Lj‹`!¬Uõ1ÍÖf'Ìb$³,c©œÓŒ\l),æ‚ÈÙ Ú)KÕGE%!q1rd”I>8˨yGðøÈÅ¢ò¹µCÑuÅ‚9:ÑÛ¹ ÃÒ¼mQêY6Sg1ŠNFۜƹÉÈSœQ¸=Û®Tûg‚ˆŒùYÛWq
-µuig…0µ¤+#* 4+‹KdÃQeVIÖ™}ε\'åuÎë„K[­ÆÄD°$.veBXÆ]äÚè6{’¯_ „Á2PÇ$8f°Ï!Ú!ëg˜çy 8CÌ&arœÒ̆” IöO ~oÕîˆ\áÃ9½è·6»gaA&Á×ô)äÁ©3.-CߢyKaɳoÜ쪎ˆàVvqe¼SŽ&è› ‚P ã5¯ûØg+:‘mÒS˜É³CÕCíEª: É R£öïëì\˜ñ$Õq.‚3Û¨Îîó<c?!ÜsOG«š½"+¬iúðМ_¹µù½z6L³kŸ¶Lï“\V[ÿÒLé;ÞÛ›˜‘çÿ n“ò™B—݃²)àl{ál
-ŒÖ^H›æµ3Ö¦¼¾Ú¦u±Þ¦¼¾â¦t±;榼¿ê&f±;îæ{öÙËþà[Þº;£o^p SìÀ)>ˆ}08áóØ…SÖmNùvû qYp,Néb/4NŒb<N  îŽÈ‰ÅÜ“S¸â^¨œŸ}ýûæDæ<9="s‘9wDæ¤#ôÅù?þßü`Gkæ ¦½ÏEÌoüõx˜Ž‡é—x˜þô>Udk,O9'ëhž ¯áyâÁ¢çý=AÖ<½×Ó,‘=ÑÛÛôÝÑ=çãYCøă=0>M4ÞåÓ†xÒ'¬a}¾çÙ¸ñÓ,1?‡¶3ê'” 5ÜO9»#Êû÷`âÁîèŸwÆÿD»#€J{a€Ê­±
-¨t±¨t±¨¦}°@ÑÃîh 0ʬáB½Þ]ìŒ *ìƒ
-*=ì… Š­²2¨t±6¨›}ÐA‚ƒžî‹
-ƒÒF(øìî(¡"Øì…*]ì…
- mg¬Pt°;Z¨ô°^(l&kˆ¡x°Ä eú~¨¡èz 7róîÈ¡ÒÃ^Ø¡XÔ=ÐCñe×ðCåÁ^¢ÉwÇ…0²†"
-†²Ž(,‰{ ‰âÛKTÞß MÅ…öÀ•.öB•‰Üƒ)Š{ ŠÂ\°†+
-{öîÈ¢ÒÃ=Ø¢x°ºèèbg|Qt±Â(t²1FÑÁÎ(£CÜg]¬!bp{`šÎ¼;Ú(ºXÃÅ÷Ûq],1G¾;ê(ÎÕθ£ÒÁ^È£`€»c‚y­¡Êƒ½ðGá­ÚFÆ=0HátÛ…TºØ‡tô°3)L¶kX¤˜àîh¤ÒÃ>x¤øN{ ’b¿íŽIŠó´*)8å.)ìL
-aglR¨ë»£“¢‡ñI¡ÕïP
-½~ £ÖPJíÁî8¥VwG*‘ù¬Ò¡œ/ÐJñ`‰W*ô½K¡µïYŠ.ö@-•.öÂ-…í`wäRéaìRÖÐKáVÙ¿ÔTÌÝL‡‹ia*úù^(¦ÞŽ)ìd*]܃e
-‹Ìh¦P»—x¦ ïhjö¢]1M¡ùïjj;r‰kŠ{ ›Êy¹Û–覠¯á›âäípjþ›ûPNíÁçÔìŽt:\e÷ dwúž7à‡Z Øüß6 IýzÏ Ô¯?NXêr"NúÙ×# ôôºp ]ø%†.ø~v®o®Oºvb±@ûÅR¯Cƒ¾;H0ì»Ãã’Û(Ø.¢Ý¡‚ÑÅî`ÁÒÃ>pÁØ}{
-¡ŒÖ@”íÁî0Êèb HÙTÁÝ¡”í4-Á”íÁîpʦ-•íÁÎʃó,@•©í «ŒÖ€•gLzŽu5{°W~1rn©¼bÙ¬‚,ÿ„]ݵ<dËØò{Þ8zäïñÈLÆðs–E ©G|þ˜þ¡3Âíºz<XE…6úú==­žÒ5tèñ`m–ÑCÞ#z> 5œè¡c´l=ç’kxÑãÁ1ú=o¬2Ý5Üèñ`mV¿óÖØÑè` =Úº;~´)—Ki{°Ä¶KdSuwÇ‘6M|‰$mæÀݱ¤«.Ѥ͸3ž´mÔ%¢ôÌ`Ⱥm1¥í–]¢JÛƒq¥G di3ùìŒ-mkº3º´}®¶Š/möžÝ¦ÑÅÓ?Á"ôÁî8ÓfzY M»É®XÓ&÷@›6Ùv‰7mbóΈÓ&‘/1§ñ`ÔiSÛ–¸Ó÷<˜eIï‡=mŠÛîèÓ¦CíŽ?m_lgjÛ6;cP›Qmwj3ù-q¨M«Ù‰zèK«XÔvâvG£]¯àQ[Ï»#R[;cR›`²;*õmvÆ¥–æ‘©mKlj{°D§ÂÚÎøÔcsìŒPm›c‰Q=vÍÎ(Õv^–8Õö`w¤jç5¬j{vE«6N±;^µu±@¬}Ìjt±jµb‰[kÈÕãÁÎØÕfFÚ½]¬áWÛƒ]¬‡¹l' k<–(Ö&OìŒcö@²6ëËÖЬíÁÏÚìŽh ‰d ÓÚìŒjm&æ%®õ°=dk£-±­ñ`gtk3-ð­¾D¸¶KŒk€k(×xcœk“:—H×ãÁëÚìŽv.Öð®ñ`gÄkÛ=;c^ÛÞ^¢^ãÁ¸×ƒ¿,¯ÇƒUìkãh»£_Ã]â_ۃݰí>Xb`›œ¾+
-¶ÝMKl{°;ö¸}XØv§îŽ†mbDzΈØC\Z`bÛƒ%*öÐTVq±ßc9œ›ïAÇøØ?a‡›¹†–(ÙCä\àd¿ç£7ç>oÎÇó>ÜïÌÙ×qÄ’þ),é#z÷§^ñ%z÷ÇôWþ§VþúÙÇõpÞƒòm–8ßö`‰ôýž®æW×=xßö`‰ø}ß
-Kl¥V¶'D*
-LiÕ²&dá˜ôÀÁ¨Þ2¬Ô‰´-‰2AÀK{¦L‹²cx\YyŠ0¢©²®U¨:²D´· _•-cƒƒïjü"ç¨ PDÍFLRVü”¥´²¡S‰oL¿߇ü­ôÄê‹~j5•Ÿ*æ.ëWt&(? WB”f¥Ñ ê8³_¡8ÂO¹fqžØ0Ô»â’<‚” 3– ÑðrQ*^dUþ$W*æ5=¯¸ûèšnlì¢
-!À€pϳìT€RQdE›à½z‡ÈšW³B·Ï‚§Ò»LV¤§_øzµ(‘vÂñÈtÅ¡Ù-6ƒ!
-ã˜&)ÉÆ"Ÿ7;§H0|'óQg…†~’í]$ç+‚ê,²¨“²[tv›œ2J9ÿÀÇתá³Aqþ wV(È"£¤)¾‰}¯nØl ¼U²Ó¦*a켩YØ:=ÕÁ°šq±&q»¢T©0×ÔÕ|þÑfGÜÖñ…Jx $õÊ‘É Oå Ó'v@qš…f¦4©«&7ÕZ;WZÓ5É–©¸‚SXÞj\^W¢H)™ÊfĹ•l8öN®™[}Ž4DH
-%´fÇÉù&å@0/’æ&Ú…»>\¶Dd ¾g-+šôͳÈ*ê­#íBå·bI¹¤nªâKÊTKI€¦øª,VÑ#;ɘ-«ü@ Tõ~V+hƒÒB‡¥5
-B´.0Áš"&²ì-WTèŸä~‘Œª”Êd>Ì[~–»…‚ùóg1¯uƒŸ”-Çà€›²$…°U…!“äpq ³]¥LÂãr4cMrxTÎI†_tùr”¶Š
-×gÿÁd|•(µiÔÍR ‰ìï>ëE )]™:##¸Ñð¸o…`Éä©K%µšãiUùj¢éâSí={
-ñ•%oFÑÖš†ŠK¥¢º.AëEq‚Sº(‚x2c™o ù£»T4‰ãs\¤DæG­±ÿ/5 «•59ƒù
-ÅS¶-/øE¼V$èÝ/´ÑåîKz>C%Ù/z3s¡ÁSTìsÁ$â(‰ÝS´©†1€UóÌ8‰R°2))9£_ÑàV€?ƒ\’@âô|Ñî“ †X¤PˆÈŠ„GH¡IétÝLqÍ€­Ê¹7hv:‰²IVC%:©À
-h/T%T#
-(ÉcšóÅPÝ®êL† Ö’ulpüdµ¤Ì+öТDDÈB¡¥VÙnB‰0Z ¢Ø“7èrä
-UU»‘TV& „8‚®ÊwHj§
-PNŒ^
-,J#ðwJ¼BŒ„+’à¾ë|CK‘’Ø9Üç]WNÌVo‘Pýä4Þ0Xd3MA2™‰c𒢦¶½„ …‰o™|¬lš R±lJ÷ŠLz¿ø–Yâq‰²EšF-•\Qù´‹ÄúV+ˆ!y1¸Ð
-À‚²”Õä`æVå
-mæYÂYä" ‚Õ¯2Y`&1ËVô£•s'2Ï·*½F»H)dŒ .rîO“£d‡xØjõšÃ†¤Œ °©zÊb gÙö”V'¢’ÍÒК
-BQØb,Þ¾.Y»àóÃÉÿòs¯ÿÇJÏ)G¼pL°Ø’èî…g"ØÙéDãtXÉ@aá\²5Š¾SAàtëbüM1œI2­£»…ùôi9ÔZD]òÈÖ&zéÔ'¢‚Hƒ© QSÉÁH×¢,$- ÃѦ4DQ ’ÈCn‰L$p½Gi›±wt«{4œ’$ð¤]¾|ä÷‘’Ñ„Ëáu­’,B4/Õ‰ÉváDÙ!@4òÈZ %:«ÜBl,LUÀI’=»
-,iÌA ä©í$‚>qt‰† Y² >‹ÌYªªhv#B( @ R–J˜4BžÝX2MÀækWÒ¨h°|S«<ÌSǹËU£ñ­\Däf>Í•Žè`x1‹ª«¬¾ˆ›ŽDˆg.³Ë×{F~ªã‰IƒÎÔàJg0þ(-Û èÇ•tD‘/L@e¥FÊßR[ñt¸1Ì-†Dç]Óœ§ÉzGr]Õ<0幎ùʤ@ΠÁ3w+ÁÍ$ ³B/Œ,æ¦!~‹,*Ÿq‘¢é M9O,xmÛÙk“ii~ŠæÕp’6IIQt*K5*Ù¤Uu6¤r—Ä2P§Ihœ†è
-ýK^•EÍöŒ{št
-Má]H
-dEKeF¢it¤´ˆèM7mPNØ…a†ìb‰žþSÉ…©’
-õÁ’åTß®p§Qš~*Î.å­J–e¹œhþI*ÌÄ"†#Ù
-Ï4Àè²ê³º9ÕõÁ1¨‚aD<.6¨yèq”ÐÂ3%[‡‘Y≉pÀ"—FcÑì ŽaÚDæbáT#‘XÚ`(ÏÄ
--ºˆ7-—¸"ixj²})§­ˆêÑP4‘"æä3‘Ï"¼¨9UÃMXr†¡§jÜ,ß…F\vF‚æx(RHžghäSž¡dò’䯽r±
-’XzÁ‹éÜf6ê{N‹ø)Eÿ¡dïh‰/­tCððä,v†#B-)#«Ô4ùŠ#Ò`´ y§±u¡3f†¿‘œæØrí êa ˯Ä9ŠTÀ¥
-ž¹é³ã%qCŒÜ™t$–óX¸“ˆ6Ò ˜+&ˆ8ÂÔä`‘qªW©1^+
-žrL£+ˆNa q*ˆjÏ:´æ1r,°8ƒHqç¼¸Ì Ð#ê
-/(¥,Z“­¼®ˆ³w: ,: 
-MD:2l
-fªC$ëâȯ+ Š¿É¨Ì@W†Hj3,;\·E"—x€êÕÉR~™7¹7/i´R´¦z.8ÎG0ŽÂXºœ iQ®A„r™2*>€?а
-<â“–ãblÐcÅK?%²õž–¶
-F‘ã8@뽇ˆ\ç“$ ÂbÚ5¯ #
-‰šˆZÓeÁ9
- –.ø Š‰cè)—)G_ …µ5y“X4n”I]ßfŸð\‘ç*Û°ÿŒ§¯·"9s'ÝŒúâ~ýòÙ·ëÛó‚?«xÛ‰~ö5H8
-Nˆc-¹ HG‘:\$?‹Á³v ÝHIoŸDL”rW´Ù,J‘`õr¦þe«0Ì–(1å:¯ˆÌnzQ³åQKH™ä˜L"ÂIKÑ)|b IFá¥èƒ„ç‹Ù– ZA±³œÀ
-â34Àî«Å4½Àž d_TFdÖ÷CZK7úªa<ÒïÇuUq#K@+‰‹Eh‰/8£‰Ù9t±ç)êSä:‰Yˆd!%"½ò^ÐÃ,
-òè2¡æàŽ‚?B¸æJqM±_ìÎÅÀ$°åJw³‡6ö|&Š^2¬õ&Qš 昢×]L}øY×}ŸFŠ"äÔ45Çil@^8ü”d¾ÌjyÓ /Û¿·¾mgâWTR Á#N ¥ÕX®3H&Gy<<$fdr+ ei(Ú÷ ÍRýH”‘u–îïu‚¨•ÎÕ®xÝ…ÉãòOYŠQ Žyàðpð ú†m—Dþ †Ä%ù|®ÉÕ«óз.Fßr°,í×›V@RŸVð$Õðë=j ”È-W#ø0ªà<c3 ´„zÁЛFäÓQpÔÓUmÚX™B÷%¹ÜaëÂøBhN£Ž%\o©Èú˜Ñ(€ÀLí
-O¥í:è¦ÎOg’å¹+ÂpõºNöƒ_&»eOeñ¨ˆè+›Ï·iF¯¡½±VôÆ:ÑkDoª½±6ô¦ºÐ›jBo¬½ŽôÊ:Ðk@o¬ÿ¼±öóƺÏëh>¯£÷¼†Öó¦:Ïk<¯£ï¼†¶ó¦ºÎ›j:oªç¼±–ó::Îëh8o¬ß¼©vóƺÍk6oª×¼ŽVóÆ:Ík4o¬Ïüd'VðºÎžbF×ûÀoQòœºYaº5Ez¯Aä™7*Î…Æ^p:4f‘Aƒ~‘Õœyƒáà<tËÅT,SUB)5A+—ÞÍq.““UëG¼ƒmZX6ÏMR¢q ýE~%7²l9žäVxèt˜n(SI.I À À÷T»v}¯<4M¥ÖéEíÒ?–uÊùí Ö7S®)u8à×W“s3Ç]ŽÔ‰eóÑÝÔŽD—l§Š&ê`9mv¼³Èƒ; È(φÑÝ: ©ý$Ó¤›©o¢ÜC^ÝÃütNÅͽB÷‰p®Þ<‚šoí7~ûotì™»ýÔÍÒ¹Éö3°lš#ïÈShìD7-V!7ñƒ£8Áà³íF©¡x‘Ñwj^Ÿ-Ìm¨q¹âB€„Ž\þÑšâÙ8ÜzrTœ=9äó0æl½ ŒnÄTº”qgyW1wbŒDE¡Ш´
-¿‚+¢±(ÊôŠUç´DÅPå!"Ĺ/6iL¹“H›0X眧1L’ˆ¥¹å h"û!ôqo‘¬Š<RDrŽµ(¬uGjc{°±d7ÚíÂuÈÒ÷\t"F è1¯ Ǭ‡pÔ¼‹U¯'<žm†Áͳ*'d„ö²ÒÑ8Yi¡ü³¥B]B“š¬qâ p(}n†%9dþØÑ÷СðÙWc |a‚÷O>=
-±¢ÔÏÄ’QÊ£*¯àþÉ}; pÆÍM!´ß ×JÄ°ä£AÃÔM9,ÓZÚ2ŽµØæuÝ,¹ÓÛÁÄ8˜ô$@•÷ýŽ£R‚7åGNGÒFƒŒÏŽtsͳ!4xÐðId5g¡n™2§y–’Z ó/êÔ‰{xRÕlÙÌÝ8*,Çó!À# ¨Ñ)ã}jÐTl'´’.ÝJbWNvmy‚·Tx›&¿0•³éRšð+½ÏRVOŠ9•¼ïòÜÍÒƒ‹,¨U0‚Ù¿k ט˜1¶¬)IØhd=­•cp}/Z²[Bð¡QÌ É4ìmëhRàIp5ö–èII|©R¬$Óƒy´à!ÁÒ¿ÌÕw ñÒÑÌò<l&ˆ¦5×dÜWV‘ÝhîÜIŒÅ¯Ò‹›eM_¢û&ß#ê:ŠeW©IR>B®»N'š'V5´dïØ-šÛ¯Áó›’¯^(KG‚¤Pªê~„XÂà&Y¡ô"pêô6Žl!—G/ŒÒ¤BÜûTc“º¸{(VËmÝG¤„!°¬±ï¬dA?oðë 8&³ÕÀæLÁ¿7·TÒ´N6ÀI×°*§CØWÎÌâ.G£q‰xr9Ñi»E@UajÄÒN a\1Þ¤Sºå¢¼Z$Ô1¾ßÈÚ‘ƒ®trL ’¤^‡ËÄiŠ…{rºj9†1ÐOá0¤ÞGz^Þ¡ßÚüà“Ð×a4H½ó£|‹}`'â%üÖ=<)"f›U}âQ4ózG3ÓÌ[³k°ÓSlľeÚ“~r
-Ã:8-&Ï êèz“¢YljîGëi°Ó¤¾Q‘«1ˆ.êjRi Õ‰¿©Ø‚Q}äªCñ{÷ œÇlTÌ—Ö´
-¤X‰ÛûpìÌ}j´û¢¦"¯…Ù%át–¦lŽR®©ƒ®…0¸;ùèy pg‹à9gy
-FúÜä=ÈN×ÀQœUl=‘w¡³FçD(º¢¦8GeõáT)
-óÞ…ÛÇ!TºéºÞúÇ 
-FÍ#—²ÑºÅ/ÒÃjxÙf[–H%SJøö‡0á¦d'¼Ì$®Y÷Ž&èI¬´#éH¡+8éSˆk¤zŒ³•£Is&P̦P ~m2³Ùush5L^ ’»0€îÅyYBÞÃÍ*o0°óÁ’ŒR9WŸÓù!ζNë/vÒ°ä[óS“*ˆñGLR ƒ*âÒ]ò1©eTíÆYéX\Å1n
-GíGx>œÖåyV<Ën «Í ‘ʪô³$ ý„PúnŠDw'¡µÓ¸^¼—¤"ÈŠ0Yš×ö£KÉ¥ØɺÓGâ´ ïñÉ™J?¸šOl'îß+ † ¦J #Ï“,'$\U†¼¡*ÀÙÁÎEg& £FÁ_7‹„á馽 y.ŽZqHØJõ­ÈÃW3Ù®œ¹ÎP·%ˆAó`à7ÌÆ‘
-$ÿ”#ÛˆòÑœû¬P…Î;Ù€î ,O€º{öà2­ŽÞA^b›µu1ºôàÆ#{Èû4îÆØ%Š<3}m…ë‹{ÓTãæ,¼ýí>®C¨
-æ|Ìt¸÷:Ó6Õ2íB9¹Ye÷5E$)d¼î'ÉÍ° lY YkÍ°³Dz073ù–íôËArBœÁTÜê
-6MpL/¢J¹n×êÅ&Ã^
-áµÍ?%;.$º{;±xÚõìb憪4©&FœšÑ@ú}“d*8û1¨¬¹^ÓÐÀ0Fª UQF@Aóæz"8³¾GG¢q²„\ߨªY¿°7sŒAªX…Eùˆ˜f‰•IâÏîòfŽL§µ¹­FãY^sʦ”ÈšÒ
-º°>ö˜ƒË¢3m×>³¼¬±ƒ~V L(v1‚Ú"̦Y¥:
-ë!Œõð`U(I‘úEÔƒ!ZuÑ–%.(TáæöÞ$Ÿ¸j¡â^ ’˜¤`¸Èå¾*¹â „ðÁ¨èƒGL"²îK É£û ×ÓXb^fäÈTdØ=Ã’†£õbWŸ;5¥Âm0û¾7$whuÌ¡<½Û‡‡“§:Ó‡—Ö0ê½üKW/ÐE=¸ÖBãZ¶V»á ]ë}‘a®ïÏQ÷â^¥'˜Y)¢H`“bVUõ øk{r°Xò—V8‚ÔÞr$cÖeñ0ÆÏ°>¯­É|ú¸.êPªuáSæG§Éz˜Ã¯$˜êJIÏ¿Údª ‚K2kü(À × m²¸¸,k8ùû½€šêt´.:„ÝÌ_b=+nöq^á߬P®’ƒ
-2b–I®CÊÓà˜òPc·â#òõ~NÂép£bžœ)ß»tIM`7«½;dàX3guZZ…cÜ•Ù9–}ï’Šå·#u°BBýz0¡‰uö#ÀùYpêX™–v0øòæÎßûpU¥ïaÅŧȵfu/×`Þ² «6_zæäÊ‚ä<+w ÍÖ1¦ u%±Oá½`q©©3I£ Ït$ä¸CØ`f#‹þ†¬=V-›¡©ðGG?^RÕ‹‰F󦢷"Höj–KK­B”žýAÚ‹B^€§”OÊ¢f=èbÕ”dÏêvp9#º¼Á¡¢ngBã‚u<; ³½"v!Ù±3Äh ŸÝ‚΂Ìcü¾’ÆÙi¥s UcÖ- àko<;ZU Ï,^Tdž°ˆâ¾©¡‰?<l
-50ͳŒ ð¨LF_U]ûâr> üº” òçÙýää:qì ¸eøyïÆUGÈj5kbŠ¸U÷U½™á&¢èò# / qPO„ºE"¸9hõ[ÔRLnÅÍ¥´7MŸÄ„„Þä¦,RÜbfœ§SUpßTE&@ï“èr‘àÀrÛyÚ¸N@edH2šE…6ÜØæíÆ«d¡ }? {AUD;hr‚u9‹Á,VrUàš'#èúëâ t®åÂXŽRö Ë=ÉiÑJg± ª(¡‚vñR}/ZCݽ04IJ„‹,)ĶŠ;l0‚ÍQ˜$ˆŸ¥ïžUWÆq€^¹&Î] ql{ ‚È ®Æ÷)uÊÜãHò”¢Q’¿N²Í´°c ™øq«WØ'ã× ¶Fq¢%Aª„ŠÚ=Ôd(ÕÕÜyë³PÜ%”³âø2Ù/ÈP†báj(D¶+§Á(ªcÜ%sYƒ×­k„c¦(ìû
-éŒÂ©1 7µÉ
-ñÕ&
-–NѶ}w„8mŠkàyúa²õÚ°Y?÷²[f!ënˆÄ’‡±Aª©+Pî†l"T~Bàd÷¡}¹0u݆îR«  ©±l%Jb]nj¶9¥'ÅÞLUq®ëÊ®)ý“Ñí飣2᱈J“ §ÅÅY*2â tU@ì")‹ee_„¾SrP1o€ó-vOÑ=ÔŠÚ¬1;¹‘Ñ·}VF2l $Ù&™¡ÖÚrxC†fs"›V|_Œ¼wÇñ? k½“šwÏv©³£®†¬†Í<Bª_i Ö™E;2p?I«D]r7Á ·nèËÊ9gÖ«©×«xífß>a–Ë2UÉÓÒ†®j €Å8ixÆh tj$”¾nR®‘ΛG7»pAš[iPà‰œ84»Ä¦~)Àuhv®-òf8`­Kk˳€’±*BAŸÆµ×VbUð¼B^GÅ5áÉ,уáðï(4Ì[%9—=R]ÐèTþFöÌè¢B*º±üU1xµÛrËò[z]XÎŒ•ãK-=™_MïHø‰Ái}LUÑ~a9ÝHy6î„|J‘E4*­Û0G̽†gÍÁ,]¤g©qν <9KùKJÁ™&¹Í4® íöÑYNÆËPt
-cgæ·¥qŠ#¿›»ØàÒlíp~ªLZxfüÈò\8 ŠamçHŽâ†Ò.èÄs­ ,»j‰jT¹ŸÑMÂ3‰Ü$J8æ)[…¢@½Hô U:‹J×nI n¡_ÀÏ!¬§£¨
-㹥̠>ì;âê½;âê;âê;âê;âê;âê;âê;âê¿
-Ý”#a}›€ßî$D±“GîZå8!\-Z1–WÚP`㢋 ê‡ò¢ÍоYm`›ãD¤È}  1*\
-nɺpÄ+²X¡ð缈!C¦ŠÐy‰Ì+È€éÙÜ…c}(‘E‹Äè@¿+kžã·"rÔ³$ê qñ€Ú+rBÂàfùRaÊç«M
-“3Ê—:˜¢n=‚û³œ=}Ôfà§*% 3[‰Îœ sè
-BÓ á°¿þQ¾dîÑ%¯ÐIë¢Ú’]˜ÍŒ{ß4NØEƒâ÷ÙnµÝDµ­Ùª¼+­Æ)ÔQe ówÈ5Ö@[[î\œ –v~xïÃåXî+€Åà"^“…€ylpKrÙñš½J43ª¥èy¿¦¢¢ðZ}–WüÐÞö‘¬b9Xá¬4f•;¬*jf=m&£sŠ"BÛY3•òØ2õ´ W+ô¢Ž¸²@ ]@«ª"¿›k_ó%Ä Éœ@GeVI..ù'’¹J:¦½~êáí3öhÇNáè® Ce—?uX¯Ÿ¨!"¨Bu˪<.!YÃÃyÌjo„7ý—Ü”ûÊì#U‹4ö
-LBبt:îÚæªÁŠ‰QÐE=9.ú¹&K ƒ#D
-C˜p€ fÒÑ(*D½b#÷NE´C¾¹á(ÖQûÐኪ„‡Ñ‰<§ÅÐ9Ç62ð™9¿"ióéú ØYu%yé)Ž9ˆ¥8;ÁuqÕ¶(qÿºØdn
-ö Û›•\»PÆ;¥#Svñ-ˆÓšBeg«œúNTˆ—jh5$i"è
-€¥Ðèm–éJ‡†1%-B§¢ù¤f§€O^åã8´Mt3ÆŽVš1,#WÆ°vÜNµ-z Ôüq¤f‰1à'ßÿÙõ€©)øû(éN1†ËI!±‹Pϼ6©pžz—zv11*0JÁ®Ý„@’óºq꤅’D4Ž’‰•
-õú@PŠ îõo¼Ó$uý¸:!ƒJäe$#ìOm-ÎiK-äÁ;×GövlhßýàñÒô ê[ü*Ë
-Þ§ å|f4Z›¢c6ŽÚm %E0”O5Yð$ü–W¢IÜ^$éíÛ¢+ž]H†*‚ãST0'¯Bãƒý²®¹ 'e!“{M¯^ p)&eA›µx]kG -Pø}rYˆ$ºaXM0#H@¶žÑT•É²úÁ| ½’=9V¢ÙýfU| @¥fŠºJ¦É£@·û ȷ ¾)bV…ë¢\7pÄ»ä4Lþß|}öµÔƒªrä©)ì³a¤TËOYëw¸0÷¡× b«GÑ´¬xãJéâXî²aÐ꾈õåFÊ®/²‡ëäØDçjèØdJÛÇU3wqû-»º¾Æà}¥g:‚a5
-i§ÆÓAZ”>röV$妈êºzÒØÕZ t’4®RC€ß²òÖN"ÍQÓD8B¤¼×m¾õ£pÔHئ&Íb*@3§ç‘hAÔ˜dèïoÍ{„|l.*¤S¾€ñoôk
-„c7éÙa h(ßÚæ²Ð0T1š°D 7Z[ÈbÍ©]sàâS‚>=£
-fÂ]GºvÞïeEž[2øô<r³½|ÈìÊN1¦¿L®!évŒfhišC«(ÙCÞÛ(ˆ†ËÚ5à7c#¾»ÚàÎfË›Ã`
-¹nÔO0ÇÛÆïš„/²<)ìI™j8
-Œs»¿Ðœ4@óFœ‰R°²‘£BÈá¬Å/ûÐ#S(ûõhQig=Û ú³!À5;d£W@Š)ôè
-‡“|ºˆcVÐ|u²Ï1Ÿ¬.TÃ8‡€%J”ß•  QTf¡6ËKëÇdÄ96
-îT +ŒDd~ô§tŽj¦h¶p¢RÛÛh>Úºd/ÀàŠMh$ü%R¬T`­‚ÕÁ‘¨ÜnÔ¬L¢ÍkÀzQ)wì]GïÕl«&rƒgn_þR;Ô4¯åTé’(ó´PL$•Â9ô¯ìÒ,•ùûM…ƒ 8Qf{´Äá£Ñúm±¥Ž{€²ÊwÚûôž*Uà6AåÐ`Açϸx¿,ÆùrÙAí‘”û?Ï›ÈÒ §­†9Ý3f?é`™ûŽ‰Åf÷ÑfÍ©}»¬¹·jÒq ñê×­iÝÕ€w6
-+Èõf¶;@d4\©3QÍíÞÑ­c¡[¦í 5tºÅ9áûªd…Ä$¶#FŠÓÚæèìt@“b7Þ³äDÄž š[½;Ð>DÖ`rô
-I‘By\¸ ìºf0 {½}ë ô,Ô`94lîü^í†ÁvëeÕA]VÿC£íî'÷²
-´òÇï/D{wžš?zmÚõ= ߉4Y£ð°÷ý¶1îo%=î< ).Ù¿éumÔ
-Ø›Ç[ºlÉ+„‘¡óoMC¿6˜š[±voï¡5.‚ö5«áÁƒ÷_œ~z~EÀÝ#÷æW! E“Ä°‰4NÃP ‰MÃ~ß®a­Ni‰¨ˆŽÒF |i÷HÜÜÔ¬.”züX›¸Ð!Ÿ†õûºaᣴ¢ßêµ—û¦¸¶\ÜÆ236ºøn@¼:&vòW|±Þ|÷Ã{—ßк¼é„|¥©YìÉŽ8r²Ñ@rÀâ& ûu®HòÓu!ÐÒªþ²ø :0â5†ÁóÚ¶2ðFêÕI·ka”06j¥ÚüpßqÚ~nšÀ ÎÇÀ¿Å&Z£Å?e)d½Ìå[§à›:6îÜj]‘Íó»êH[`îÀèCM:’˜ô9×°ìÜ„Õ¦]¦88¹-\þ»‡Ðf+­dº~L—V Î +¹Ñb%^Aêâ¦(¡5ŸÝ9øÉ¥¤Dk*½}»M“ £ÕÅèpœu¶G•ëÑÙ¦GVv‹Xeó“ït›²4¹(…CíW"¡dëÀæ1¥Sd–"<Ôu{*òÀ{¶ñ9¾oý+…™æKèú«SRIê¹ÊE@*Ûy.ü©³`Ž{¸nØÚ¼]°ªY±ͳFʇ1¾.€±I•nå-
-¾§7š7'*šÚ‡
-nš)œmvƵÜÏv Œ@º|ÊÔÜ<žC¸#öñI¾±¨°¾ÁO—)’š]Jso³¬Œcp{ÅÍ=²ÚMà–{–Òã=x¨.ü°e
-JsÂu»É·ÓƤe¼ Æ1 ‰ …CªÃHÝ`ŽÛqìÚêœìë
-h+#Ú
-{Ôà‚%ÑñNðΘ(ñák¢‘q꡺ä‘ÑÈ:."YcËSuè§7{åXÂ]:(BÁáÊn× Bí²r'‚ëx·EßäYsÅIõÊ)a¯¡B‘K.ÚQ§2œ…åôcµ½‚„`v6„×|¢ÄRy¥ysT  .øüxá{7aÌ@lmÙ +BU6ÛsA±é9y… ’nœb<·HÑ“ÐU:ÚÒ@Šu.G´Gö@ ~‹aýµ²zð£vÞ¡DÝM4—YÓPì–e„¨+äܶ#\½œägŽ ’ðqsQZªˆê8¾_"¤‘u•ZÝdü«ˆp
-¸Ëë‘ÛÕ6×ÎѡμÆÕk1„¨Tô}¹ŸÅAöA×ÀÔ¡YWKˆå¡_Ju Ò•a$üÔvõ÷ártý&"6‹GÀj;ûô°¬jš„²r (nW5v¤ «u —²ÍÍ<Úq–°ÿÙ½¼hdþékgƒž_]]ÝH¥Išg¬<†À7äúÔÄ“zÞ ‰ cÅ?xj]éÕ3Bû‰¾Å(SkŠ,µ¦ZSƒ—Ífãt­ ß ­¸39>›]E}€lä>¬\‚:Ê,fWý¥Úo¢½óõÉòÉôrK™N´ ]H®®¥ªÏʉЌ 
-/xHúÁ§è¾-™uL“
-D¶v¨àíêMä*LèÔPc &éòŽêš.¿˜M.àÍ)0ŠH•È‘D2IGŠžäâSZn“ d#ì=½Ø)kbe‹Ð"šèšbeBƱå«-‚wHÉV˜}:£¨\rnÙu}$ó±Ò›suYÓ·x
-*”¡ãîiÀŽÈ-Ë=‰(HÒÓ\òä¶àš×¹Uvì©éõÆ‚KæÐ*î-]*Üà§S”•U¸O¬Ÿ‰Épt~_vÅ0ë„T)8@;â+ƒ%8Ì‘îÉà»j«¨§^¡YÕW<°âŒfíRD{”7Û«\¦ÐÍÒÑrÒj‰ß7€ŒÕy¸˜öÑÈ™RÍ­9¶±>˜ݬŽ5{81a‘NK¼Ž6ŸšœËprœª ¬(“
- xOI…€Ä®Ì¥œ@r4õ‘€ïœ¿i ç²U“žœÙý†ï@éQÈ„Í‘œ#‰u®-)fpé=³j³(ö“ˆ¬¸^¯Z±IÇ´&=Ôpã’ÐPìScSÖYDƒo[æðFÓšIÍQ™’YÅ?QQ ñ›ã^ø~Ý
-c%s¸R¾D’Gv µ}%S«u§& KJ))÷E>'—Š
-ô*°°$f‚JÅmîfº IÞç¾Øɺ¼ÂÝ9piŒ¢€AÁ4¥ [4À°’ú¸ÎÀ–#ˆTv˜MÌE]p›G»4Rf.ºt²kÞ˜´F‚U¿¨ÛÀÔ“ÒÍE—úLfW$ê"å.UÒ
-¿.u Ö`–ˆ–*ê<\­¥št&ÎhS¦kxënŠ·M#9 JK
-âì$:†º´R¶³ðÆ$wc-a©‚Eô=Cפ
-U·È ³£;ÎÃó"¦¾Î.M]-Æ4«.¹yÁê§ hôº™Ã3›1+ô?ðJt£­+:y2¿YÍL¯ £Ju²Aß<äñæ{7ÅV €Bôînð}¦Áúx“hŠrô*åzý΃{TÞª“õ8›xiµ’CûJKè¢(‰±=Pý¦´ªó°è"^Ò,w)ó*;µ’EN}DÈ+Ç0oui’<:”n®¦ ÌAYÛ{rdâÈA—‹«l°ÏáÄÔ‹Y‡W¤·#p±dÅf®ã¼îqx“Ãœ¥$žx1]£">à‹¡bÚ4¸ÙH@/æOð‹4×(ÉQñ¯bdàÁ©./8ˆ€Vo‘Ušèt¡Ç×%»¶KH§”¤Ia³So^çúauCPò
-O“}6\›y’ºqz@Ô¤uNãbý³?Àñ:&ç?…“(ט¨”ãTÛññ
-¤q5ý”s$‰€¹NŠBd"7rff àý©[¯ãÉœníÒÒÐLgCÉUÐçÈV'ç¬ gnÆ,¼þ›çȬE•–>ŠW]Œ!j¼ Ï¥ònÆê6—f3-€F_aP[ØÃä9‹R2¬ÞifuŽ‚c·É”€_’!0÷–0Õy¯ºBLü [þ$³O³)™v×-ÒȨCk؆©nò:½Fi|gVö‡)O¬lÌóÜo”`i”ÕE ³§ö´pcRz"wp˜9âÇÁ
-&ÃÎÂTì©#µÍõfлávÜ
-x}f9h•swõðmºz¦ƒÂRÂÉ»qs\@׎ýõ;ŽS¹Ð *ÌvRÑ…´cŸÀSç
-““xCÍ+® _*Ù¯¥VqzËøvž_„TQi–ËÌô¬ Ȳ´pÖDϨUÉKµ÷Á?õÎ."2Ê+½O2çÊ÷s˜¨â-ÜÏ`(œ“ãSc”XÇK™g›$$Ä^Uh#Ü©Þð9¸a¨#Eb}›âeVբ·yoÇ@vCŸe‹ŽÁ÷šÎr¯Ð˜j¦ È„£õNJ-€,/RœD¨Ãæ„ž†ì™Âl½›£60ú§•‡BGüÚöi÷daêVçût ¨E‚<BòrNYœTo>(`Ј¯T™ƒ˜jH:ÂÈJTÆ^:jt5ÐÁ•û®«X;ª ‹ûî†7RV>˜þ\… A`9ºB%]µ qý•qP`0Ü(©PTNk8Æ)J¦¡ÁOkc¼
-Œ+•p3‰¸éÓª…?
-/Dw Ôp_ Cðg銹]Št´Ù$qý&ç>¿ÆíЯ æËX&'IPá¡…~ÃÆ .Ø\Tȧ¶Â,¥¾v&ÑÂùXºÕoYT€§«‚Ä´Ååg2$Ž+ñ ÑßÕ‹´¶d ˜~ î·‘`ŒF®Å(¯Öë>á,M®ÖQ[2;DU­–'öP{G¯ Ï„=‰™Þ¦ BpaÂæúÛ7Éèh:‹ûÔú°rìžDíž±³‰Å̲ ]SR J×~â!˜ËmÊòŸé²ˆÛ”lkvEÂUÆ0‰‡º(#óœo©ÍÚlöXÝoEõÑd«Ž= øÌÅq3 €—¿Œ%Ž‹]? üÉ¥:6jÆ¿„eaNÖa’¬OQk„º¢ X>ñ»é5¨xGê»ù"âÅòõX©dtå-eou½‹ÈyJqQP†¸_EÏÉл=e ;ÃMèÚJdnfň¹S¿s5O
-0hB°BžwBvKŽ=M—Îq
-É`ÒF;°XeB—üÔïNÙ®ã~óA˜ –¨£k‚¥'\X žûÞ^Ö<ôÖ(¦$g|j¹Ú~Y2€ZÚ~c8óHj)c >êÎloLg—عÆ-sYJÂuêrS|‡EÀ´¸ÎB€¡Õ]ßÜÜ«ƒn‘ +sŠÈÍÉ~Œæ¼vXeÖ'LûªL!ÕŠY‹q•ÍÑŽÚœô 4*9´DG;‚ë€#cãµðä2Ê¡RŸ
-”±í_ǘP2#Þx
-|®ôRWY0DÈdJªO))•¢ çä:&zcùpuv.¼»º.ÇŽåÐoÄí§ªõH·v eXê„Öɶè¢mE
-oÿ•ØõÙ¤ª ¼L%†¶:ü‡E€‚õú)[CªFOŒ.ÒÔ’z;=?©<«{&Û:ô•¹¶¨ö÷B™çU¡Ì€ÆÛò…ÃÀ GiŽÙŽå€äÍ uJ#Ô‰Ü:6®1„ðhšBÕaã*V7çòñШ7's)±[îÉ}ÝUdþÁïG :†!y®ÈÖö\Ÿ³w/µjÙ½ö€”LùÕ毪rN¤q›ía¸Ä~rt[¦p
-J€‚ÉÊ}š—_(L}ìÿÉK¶cYŠ ÒC2¨ RïZŒ,´5ûŸÇˆù³Â‹Žz-ó‡­B°e´9Àq º<¨§yŒ
-•ôR…—_Ïì:ö,ª ÀŒ
- ªú*+\É1Ü©Ró¾Šwªnß´&ñQi ©e™<Ý *–Æ«zv‰¿!Š·$¡_CŒfÄõAîSÝ.œI1—1Â
-ÔjDZ»¢rjÓ“´ã¸G6­p=T_0¢¦[_µ×[`×bàOÈ]èkººmu8w¬Ùê+ªJ†ÒÎÙ2ÄØä{€3ª{
-¡tQ— hX% zŸÐ¹¬H:oI¾P4&X+D"è 禔+\=€VÇUϸº3ý VÒ¨)½Q!¥EÉ 6­¡TW•áÉ÷ƒ¤8Š‘é>¤95^?©ÏH]JqgXɵÐY#Þv5ïhåS1¯C™K#ñe,m}3V˜('À
-n<Íhü©ï •_ [#Þ$ô¼nAg ªŸÍTF‡åaX!tÎÔÄÚ!v>L3OÕŒ´u©³8?‰¶€$*JÀP9Žh MáùÒL®ÛyZÝö½6hœLv¼:ç¤tõ(hu‰ðåëÀ@ ·ÛŒM˜Æ°YpµôŠ‰À3°AW‡&uZ&}Ic5mƒÀQìp55Y,+î¦)˜ažh`ƒ|:r*˱‡ŸS$¨Û­¸ ŒjvÇÝTÌîµãÈOCÃÏ
-¥å)¢Ð}#âÍšJøS"5
-‰dtÀr†”E,¸ðlE¡âý-žúú;7ÈZdšÅ;+Ó?“ä×àt“㪳±²k…Eð][å†ÔgöØÊÕôº_ ž`DÏzÕG,Íwˆ•xÍü‡ñÕIBã³r¨ód:›†wkª NG‚SÊ!X¨á³œÀ†»`zוÍÛ¨{dO¸(Ó (Ã>áiºŸXÀÉ „ +eò«¤ö1.NÔ y68/]^ÿ
-C4±,?7ÚY.˶u-ç/±j,ãÅ“*Z‡
-Ãx“—Ç9uc«;]jD]gy ÒèXæwF¨Sgsô‚å°ÒHëÍŒ¥C@¯Y2‰&eTŒF|]㚣PnÙêGšsh\g»F)½ð'5ÕJ×XÊAª• !8ê
-¸¨(‰¹³™ÕçH+­2ÔzŠ¹ëÊ$Â…žKhþÕ‰¥°Õý¡òà„YØ*VFçùj£'%
-¡ƒ¦(#ÊCïu ©/p“M=Cçï Bt%dÞ¡m2ä°™A`55M¼·–x5{ºF&ïæíØ¡'Ïc‹OÕÕŽÌ.ëYXfW%Ìa†
-
-–¨Ñ“X¬)q?@ ˜Âch?]_#g!ËᮩU!3’jœ3DÆÌc-ç ¢êE,6Ø(YŽ=И("·1oXgvÝÁÍõŠši¬Í„täfhµþøkb
-œ²$±ö9•Ï{©sµ™æ»»˜öj…m¼…X70¢\Aa¬h‚mnì›7“=w‡>³’ëTQWt˜FGcíÑÇpUríšA_ϨÐí&ŠmiƒC Jt§ùEtÞì?9‹’QaM5¬wBU;ÇVu5(/fã–‹q
-ÇƧ¶ÆáçIa:]¤C•ÊGŒ¡¼ürÄTEä÷4å²°ð 3ÞÇ=J;ÌÎ!BÛ(p ½÷S±Ã¦
-S1‘s1ŠÕѤuJu¢îꢖTdÑwaÚôz°ô\òŠoQe¼!N£SÀ‹ÌŸŽæ×(ˆ N¯ÑµSI‚ÛÓX#/U”Ôj°+:+ŽÖ¾š *à°-’_“#G¡°ª²~ÙÕÂ?¢Á¬A€|@:$™¦ ž" añæ9¼{%,”ot¶f±§GžÀÉôâº1²†‡{V«ÖE7hD&û áfSךÔDš\0¶0B4~IÆd…§Eñ[VHp¸GH³Kú­”s "ììJÅR0mô,›’Pë­.‰ÆmL á”^³³ ^Áí¨ ÿ†MÌô\Vf1
-ˆ5—H ,O‡küº<Âwírp¡fýžvkbq= è4N)™4h×Õy¤¸!,§µ#wFoƒ93xu~Aò ãxSÓ… º(+–”3IöÛq@ ÍùXS+ú² Ÿ…»7®‡Ñ¥kwüéh6*‹¡¾pñØÓ0—ˆ;A®Í:—@!ÎrD·äG†’%•´PÄk§E–²¬ö 9M€qëŽDZ^¤M™u‹N.Å®†i-]“h+Ô!žCe·ã¾å{®zü5
-·=ý„Åk j1V¾e¨¢quC%™5Ñéb@D¯” Ë™î0ÞË3æ,þйbÖç `ìß …¥&6Ó‚:Lí4Bà4|Y)QÿšÚSèÜBö¨ì‡K×lÀ(ÙëmÖE9uúchÉD!;ªM­f[œéf P€3ÈpÜó`ÆÍÚà•¬R,g(&ÈeqÉÐh›³ó±P­ùzÝ”ö†›¥}Pì™Ó! FëçB9âùI<+p ¹áÕÜ-¬F5JÁ¤Ѓaª"¬[/ŸÄ°ã—[uqrÚ`.ŽÝÓÃ#øiâˆá™òñDYÎ:ÐAm7ŒYõ‰A*kËz¸Jàbö|?µÈ=AÚí5‹/´R¡Ü”Õ.’gSšŽÉçÊš0¥#ýa ¿Î§êú–÷ÒØå±¾“õIdIðJQ ð¦Ž1;8wJXv™7.W˜´/òcÂ8¸©Q?ѹ¾
-ÌHY1¨…ägs¨ƒŸ%2YÓØ““M@Ê°Z§VèLkÖT;A¿Ó„¯ôDu+¨ruåì¼²qä¢/ß÷Ø东ò.S¨vùDa? QÓ¹
-RChÎcÇÛ°!8ÏÄC”XX†Î³Ý@6^pVÙïÎéá<éÉ™ÂÔa‘žâ†>’)åð¾P]gLF¶[Ž.å),2È8bµ!¢©Nuo{E‹Ìrõ®é¬
- 3þ¦„tJ%Ï¢bñØ!ζˆ`@©*g¾¶==*ôÔKžÐ÷)¸“ÅÖšGýX¥ŠjbÊŒ‚}Èvp@99”äÞ<ß`Ä ÆŸÁ^8¬ s¸®óY`ö–½ÒÍ’Ìtc+KÜKOÊ=T£,Q4Ö–ÞÇöÎò:Òàlˆ¹åå<FYo%„AÛ! ^Ä;Öv ÓÀÈšÂõÃÙ,ï56f-ÏõŒð&ƒö\R9Ê¿ÃWME‰?7Qƒ´¸)eõÐÇÐF'=óJ­AH’qal^ŸûŽnŽ>í¬¹`àá³n$…ÙX¸ŽO‘?kÆ1#Ó‡xvJ"¦nî­®íõL¾Œ™«p…k ¼bhUßìy+Q^¹ŒÞAc] Ug‚¡yܲLDâ)8sà!ÒîS<Êàv’ÆbYuq2 §r'Uqg=|w2Qà»2GiLÄ:fÑNt͇En†"z–%´b¾—qöºi|î
-ÙJ` YãGˆ2ów
-¯Z¼¬Q °Å“~ê·ƒÇQļ¸4jS²i•ì0/a”²)kÑdëÐ ‘1è*EMF‹vÁ“*² –9®õ:TžÐõVå‡9Ø1mÁWOŸeõlWa™Ú6¥ÈidæPóÐrëdTc•KÐȆ*˽·In4ž,3'6Œâœ]+ƒ ûNàSùˆ¹±ŽÀwLžVªHvkÓ‹A´+6Ù†Á¥¢r*ݽÁý÷rU‹]KC# U&éïêÚÊ_1ÙK“\¨Y´ŒW†WÀ´5†yïì‹@{Šy‹.û¢
-Džœ¸¡š°ç©å¸d><ô)n£.’³á0—‡Šùõü¹ùו¢‹ èH‰C/]Ã*n^^án3´1¨…#rêkÙ[ºÁ•¾ÓÕûŽ@·r¶¥®ñêAQåC¿q/¦ª“Ç ¢8€ $ /@3ç E)+EXé¤Sªä©/e¢Œ8OfÃ-,%an-³ Íi
-&³ø­#‹ ‘øÿ?~)_2ÒC/ë^·ŽCxw »èLªíHÒkÃ*·æÕ†òM®ûˤð2Þbø¥S;ÞÖØßlä6¸Š—Ǟ颌¶vŠ«ú šWÞ-¯=!³>YîÉÕïOŽ.ï½û¯gç¿=ã_Åæí÷Îà¹x÷'Ëè÷þþÞ»OŽOŸŸŧ,îó©UûùÁ+WÄs‹^õîãƒe@{?¼·÷îûGŸ/ÿ{Ë
-$÷oû»ãËÏŸ]ûÂùoÿùøéÓ£³'z‹o.C].öè/_㟜_^î¼±Êo\cê8*ÿt{–ï°lÈež?:Ûþê·u›èŸÿè–âÅ{?^:ú—e+üúžbSUÑ‹*@Çéns1&Fè’<0žÇú
-†€*^ùþÑ9Û‘éæ‚¡P¼»Öüó®ã³þØÚ;|i!÷4ÎÃ+E€~Ö|EëŸ~þÿÜó¬.½o7×…¿ÿøâèòèê_~¿³ž£õbQ‡žŸ_Åêk™Qsqðx٘Ϩ1í|êµþäóÏ—N½²úäôàêW9ßhJiçû|ªÞl*7šj¾Ùtó©r³¯tËS»}-Só‹›ßh¹Ù”ê7,7/Ý{NׇðŸ×~þÎ×Ió}`â'ï_üçΈغl€£³Ëã+­ùý:_ÿÎÏw~›­Ï/9)ûùzóº—z½—_ÜÚËÏu9êïéÆtÕúsÙß{÷ƒß¾À¾ÞéïL‘;Säι3EîL‘?¿)’îL‘oÂÉÃ-rg‹ÜÙ"w¶È-ò»í_Ëîl‘;[äι³Eîl‘»°È÷Ô¹ ‹Ü™"w¦È)rgŠ|×.û×2EÆ;Säι3E¾Æ™Âz¦žq>W›£¸š9rg|Üw;ããÎø¸3>îŒ;ããÎø¸Ýø˜îŒ;ããÎø¸3>îŒ;ãã{c|Ü¡°î¬;ëãÎú¸³>¾s·ýkYóõqg}ÜYwÖÇõq‡»úÞXw¡;ããÎø¸3>îŒïÚeÿ:ÆG—îŒ;ããÎø¸3>ÐÇ÷Æø¸ }ÜYwÖÇõqg}|çnûײ>òõqg}ÜYw èw¶È-rg‹ÜÙ"w¶È-rg‹ÜÙ"n[¤¾%BnÕDn­‹s])Yâ§øð¥êÉòúب'¯i–´ÝôäùÁ᪕¸ípQAÔöî?ùìן.óý{×*øì}åk½»-J³,ôÛïz=\fuyéÓóÃßüöø’«ÃXZ.£ûŠàTzê'”ÇéøÇ.ôãQ%r–s#úçïÝ®î êkžnîÄü5–VŒ÷gÏ/gÙr[…ƒºÑñÚ Òÿã‹óççœÿ|p}öÞýÙÙñárk•ŽÈ_xïé¯_\^Zcz…óüêÆÓ·`ý‘Öï×Y05âí;A;~'Þ¾Añ6öÃ4Tø
-}†^*)v¾þj’¢k0¥“ãSBéZËùç—;àº_Ÿ]=ÅôçZâ×ZÑŸµMñàÙòVoÿììl™¸§{_\<
-voÞÙìšÔŽîƒ/–o>x𪭖÷ÃøÃï÷>>¸üÍÕåGÂ9¿ty?<ZsùŠKÛ.O—÷{qùú××_¥Bó—/<9¼8þ쳓ï¢5ûW¹ã¾7þ/¨o5’õï#VR„#ÝÁ632e ÔýY3e$ccscnÏâÓ—ÊØÍÙx½ûs%kr·å]´–ž~qôÉ¢`Ÿ<ÿ÷ƒ‹ã5&t?ÍklMCØ}àÚï¼äC}õøìè2².üwï?UŠHºßß2¢×¿ þ\›.`§ÍSs?uhâæóŽ\Á§Ó°ü3Þ…Þì’xv|qþù‹ÃgÇw×Ä7{M|Ÿ¤ýw({»¸ÿ3¹÷ðüâìèâò†¸ç§/•õ×¾ûj¿A .^U©þ>›‡ù†yx?çaºn"¦ï¬‰¸ÜJëÅ&5|—
-‹îŒIjÊŸÝOøµ'ºU›ølˆÉ*Ã8-JÄn&˹ß]s /®üi7Æw×k\îOÓ×:ŽËºüá:N7\ǵ¿î;Þ|-¼Çé{é=¾s:¼Š>ù_KëÁ‹“«_nÔÉ'ǧÏOš:ù¯í§oºê¯“¤¡U¼ˆâ«Í«üà½æ_}pöô½ %k_¢¥G˯~‚dãåéÅ$ÛßWóƒ£å(>>89ºº:â =þìÞj-/©<âï}ÙÛÿõéò½Ë« Zu¿|‡“ðó?Ü»Þ~ïñáÍYzû?ž_é³7="ËŠ/êxüÎÊd0Í)ϺHg> ¦ ÿ@Ö%‹o?üøÿº÷éÑS&ÉS¼Nò¯Üº]¿ó‹£Ä+üJ°I;Òy›S—ßëÆõÛ?¾8::‹/‡ÏøfLðFàÏÒjÛ—þþ ¾;Ç|Ì~7~3CÍeø¬„½è [N^Äü'Ýmš<eê_Õ«·¯~|ðÅÑÙÕ¿ƒ÷p>’ÉüˆË\âêÚYF¿à}Ά¶ÂÃ-ŠøÇ?Z~á?ZÆü¯?×µŒUÒ“íZÆÿªKõ”ÐÑŒŽÆ¥£Ô:ãw·ÅxëµÑ­]ìjØéª×B®W/þˆeFWýØFÇ=½vÕ't5ítU5 +µ$ºŠ•ã´ökhxíj9„¿øÑ´yÁû '³^wrÍÑ}›2M§zê—ž8¦ºé¨¬šEÛý«Ú"Ø;•çèióv÷{êÕ½±ÙJË‚ÄD•uoaŽÜÓ¼éiŒ]¹}·~»vvŠŽ»z»ÛzŠ“¹fË…ŒXÎ
-]µ¸GŒ »¿¶=ÆÞÏÔk:Äq÷ÖqOXÔŒ-›¶KawØý¾¢­ÀèZâb“ò±å—sT®õ4ǘ&˜Ð3ÈS®®fìÙeá—÷Ûv¥lJ.^ÌÊ*I-ÔÚJT}âCøš ‹P0e¥¿~»Å@½#,s³nUŒ2d³)óΙÒznåô*qBŠõÛÃÙÍ!·UßV‹à²ð®N½ŸâÎbârLpÝÊìÚµ÷­E9Ç}=Í‘›ÚÅVkÍ&M»ëvu–銾;œß¼^í÷*l¥[ìÃn»ýR,tÙnšb‘´H ;„bA(›,7›·¨wú,{\$ÐrlG nÛe;º £É–ø±>¦½K»Ó†÷Za¬‹˜ø6y»›$Ýü!Øx¾ºØ®mekw]°öèyÀ6(Õ]ctC,J[ðÆŽPc«ß/¯zÅy°JNQWÚäÆ)Ž®ûÐBšÔi²iˆ–n{ÍqŽ+öÿP× °e±¥beú•­i\]\ U³í}‹½Õá@ŒtnË×Æç³Xš˜ŠU­q^×€z…
-ï¶lŽ'GW?áK|ýûmŸþ†–ÿ g"åL¼Òû,²÷U6þ×®ê÷é ÿׯ|Ôñè·¼£ñz‡/.¯ÎO¿]Iö§Û‡ÿpy€(î¼åˆ½êvü“Ÿ‹' ²ýÎ å/á”^~þÛïðmü-ƒË“ãÃï»,.sË3P /{Õgf+ÿú~ÖxÍ¿Íתà ûpúº÷ú­ÐÃ_ÿZ¿ ˜ñ·ùVû¥ +Â䥇ñ•â·þ.C¹¿«_÷2¿•—ùý·ý2 ?ô²×øìüjQ}~õÉÅñ$BúÚ·ºùïÀÕO™÷äüÅÅáÑ€ý¾õ»¹¡¾í!œ]<]T¡7Çü†ãø_Oí{x•Ýµy- køÞG9ïÅg{Ç—ç'WG{,âTeÂÖšï}4ï}|tùlïӃ˫£ Ûûôhù⋵ìÁKºÿÍÙbƒž¿¸ÚûBî`Šî´Óù'/®ž/|u÷Cߌ'â°åKWŸ\<Ý;¤³9/ãY*›Ç®.Î.Ÿ, pøûeÇO÷.ÿpôŠ]~AtŸíKW¦—?[6?ÿµ¾N·a¾í`Û“yg!»zÄÞO~wµ÷ÁÓ㫃ώO\o`y¸k}.7ÏÖ¢Û¾x¾÷èàì‹_í=>kw]èÖ–]ÿüàéÓk[á”9£;ƒº|~~}?œ_n6‡óôùñ}µÅ
-ØÊ—ryõñ²CÁã(qxŸBóÔ¡Ù3¹|V²?{•¹L¥±Ïý®¶aæe>–æÖç~ÿo¾¼côÓmþèÔçÔùWŸË¶Ê}·NG[^|méðÖÕ^ÎÛËóçï]lNá´¤ñQ+x„o¼»Ž_“ בå;‚fÞ;;_åáÞñÍùåñ•»~÷ÁqtóÞ“‡}4õïáôâ÷Þzëƒóãyð«·~ñÿXß÷“žøáÁ.~ôàÉçÿ¯Gõ‡?yë­‹ÿHoým÷ÏŸþÓ?|òOWóñ‡ÿ˜>ùÅ‹gþí=ÿÃþðÖ[ïü÷ûo½õ¿ÿîoÞzëíù›{?˜úG|ò‡õŸåWÞ*ÿtñoååÿ÷þúÓ÷Æ_~q²üáÿ¶üço¦?ø§£s<û Ÿ÷ÿôï¿üŸw–?üÝßñ¯ü÷áGÿ‚¿þ}P§þüõ=üÓÿ<üüõ}oú·ú|ùÃÛƒ¾ÿß÷¦Ç¿þ|ùÓ;?Â_zï?þ»ûïýýòçÿ‡þæÓÿà7?©ËŸþþ'øö/ú.þÊöïßÿtÿrùÃ~æ§><ºøüõgøëþÿýÿó6þp°ügî”gŸ]ð¯ÿ?wﵦ:,€>ï° ˜LÎ9眚šœö>³/γI6NØÆ4=7gþoõ€-ª¤’TIU*4è™ÛµgÞ§«aèÿÜ_îÓ:5kÊt0yYňÁ·š«±æùŠ§SqƒÐZ7LÍÔþ~r¥ÍâÉÂÝ1B$CÄt(pD|cL…­íÉœ£dOªû~bÒ¶Õÿïÿ4'õ%êvç7ß÷eOaæ¸u½ó¡Àá_4ÅpòZ+jò Û/ò!ë­úH£RB:Çè!ø5xœÃÔFàñvóh«ôÃÙ©ŒÁ›\é­­–x­ñ:e‹-ï}ÕcõEDOYUNØåû<2&ÃÛPJsì2ñ{ßú¦è¹·‰³–µÖ„ËþB³=ÇöÇï{:˜ÎUÜî¼؄²~cªT´EÏ‘¹Ç˜*¦Ën‡ú>ÿ¿ÿ³nó̾]<…y¬aŠ›ïÅM{öƒ°%¹¼F<©¯U:õ—¶ÖÂÊèôìû¶¯7¥@îš­¤f„é+ôT+0“?ƸÙWë's‹œVÇwÑ#¾sá3Çz]9b—yÎfÜú†p{(ky€¹xŒ5îØÚOÙW™˜íb6FÚYÌk¶(“+óÀ‘Œ—Jaþ”’sùh ÿ¦ÒÛ̘Ê:ßcÊEöÃ’'X³—†Eò7ØO%5WzÃP‰éËÝ3fðû h£y-¨«Âoª´îè%þÏÝ1ïŒÑ«þÛ _™áÚÆ4˜R3ôc*S²Œ©íƆ{ÀÖÕ„*.°öµ~"ƒé"»>¦O5Ž˜¡°`Æš2Ž™Ú£6f¤~0Ë̬ǬߛFì«5Ìvõ,1‡ê¦Æ÷–si‚yÌmR0m|Á¼Ñ’ó¥YÌßÂFX`>3„…4ç+X¤úÆ¢›‹û I,ÑW±”æ¢ÆÒÕsË⧖«œTXÁ|aÅ)>ÆÊ£«jÜ9¬6‹m°F®äÄZD·…µï?J¬{4¥°¯qh ° º-6ªíؤé2a³v½-º'5¶Z„‹Øú8½a[ ‘ÅöþÞ;V,ì<›ÉžUb¹é]©:ÅKJM\¥QêÖÝ–Ò˜ˆJóŸ(‰Ò4 tØJ{®týøóJoY«Sü‡2¬•ÑKï¬L¬ë ezTp*sÃÜNYd+ÊÊ¢äTÖwµƒ²uk7•=ÀÄvJ帕³=À¼
-äìÊM
-\“q· šRw{Ð45¦æ«–™i¦ÄÆ©ù^ºúšC²cÑÜÍúŽVs혵極«u¶‡m hã…£S›«4Úê Ñv6º“vt_—´+wϨÝscím
-¢Ëz®Žf„N Ž–jKD\Ó4‘¿UUDû;Ù!f5‡‹8
-Üi½%ŒÎPУqæ{F¥³kPߜ˞úê¼:ÔW—qk¸¹|Ò•I$pWËZÑ»ææoÂu6<nƒ!q{m“¬;·6ÜÍzcìžít;÷Ù×Óx §ÛãÓ/Ò@žeF…®§¶o=‹ËÑà¹. l)U:Þ`6{òq§÷+({7…èOU‰Ú}öe¡ê‹kÚ'_-µú&K5ØïÞ ÉoØôj~Z‰žÉø{ËõÉ¿i†’
-< .ìŽg"“$“Úk ™‹N^¸M‰NЩ\Áhâg¬®ç¹àÔ;ÐÏ«¯IÈé%BaÃB*O×óи­.„Ny—#lÊ.áPr6 — †\xüU³>mNšˆÙœØFÂåË0R9«‘iÚ”Œ\NS_ÔZÉX£1Cmèp,ºØoO1l4ÜÆÓþ&–Zô¾cïÎ*ö£®ãÚàö'î«Ý÷ñ‰¸ÄGñŒ*~ºÌ
-<a)‰˜½N4n·|b5Ë´“êî}‘ôTÊ×d¾b±$‡u,yš”)«&¼IŽ}ª5Àb©aßKk;?×tÀºö¥ËËm+=«Ü®̯e\fï(“Ó—–ÌŸ—2g£þ’%|…D6Y½l³Ýu*œÝvß9S³ÎÅôúŸ\«?Oä~|™K^·—óá¥Ê˜o4×Ãüº½ t•þµúµ Àž÷~¹¹uÞK¯Ûã
-¼ØÐÆ Åu»ÿSÒÛ°v)¼‰'JÍÖÆ^ú‰°²Ñó½.ÇÜ©~¹ãR•Ëûà Y±”ÒJrDØ+}åÝT9§¶Úª}=UUs‘Á½:¾n5l¸º×¼é£²Vñép^[ÝúºÎZ%êǧÞöZ#õ}¹•oX—šV#c­Ï£ŠþÔÄ”cÓÛŒ›U¿®Òü¾­f-ü­jÅûë«­µ.ÍÀ¶í…líÒ:\j¯4©ŸŽ>Þp*ðNì{Õê|yqeç²
-§ºîìð§[1êÝïmiÞ3NÔž^rØšõ†}»÷ ›nV_þu1òÕ4ù_û”¾Ø·­®†~Áñ=ê/F³ð@šcƒ¾ù f§ðZ4
-|(ûgÃV­Q›;ÏÈ9u«Fìk5Úx ­±¥ÕJs:›g<﮽3wŸ$¶ídԿͧêÜl0DÛéW´Ú˜ÞsÕÚ,P¯VgíE»:»fõ¹·|k+ðyãjëÏ…Ütá6}ÿ,jsâ²Ø·ûú¥3O¸–ÕÐW|¹Kê+Gö<_U:Ýûj»Š:¾vGî»ÒÐŒ¿·×#¶vÔuÕºo¯wÛËeãè›ZËßßÊE }þ¸«óÜOc`Üÿœ¾s¡­O³[lÛɘg{ý9MwÁTÍ»ëÝm˽²»ï£ÁÆ~?²§ó­Î§=¤´¶Áan%BG“Çr;泎Îq= Ov¢¢:UãÉéhÄò
-üì„]çNnª¼`Ëòµ Û—±Á“¹êñ•ïÿ ?Ÿ6;ã-¢\ÿ’èhBÂçÄr6ÙÿÅr/L´µM@ÿ[‚ò¿ÕÙþ7¶“5%ݱÖ6éÝ‹s¼{ì²5Ð>=,¨žÓÿõhlÿRÕ†Ôp8g $^¦«» ¼È-ÎÇËu¡C âDxn[¡¼¡ ¶¯—M+²™lb‘Í_S‹;TòW¯ÇúÂYƒÔP­Ìq¤õô½ßZË)ëä\÷ìà|ú8®üßüg7xíä|îÑü²°É+Á,k™íþ‡n‡ææ íò
-ÚÜ6;:žB”Ó_wÔH´AÜõ•Ä¸<¸£P—IÆ™Á6×ûì1*‡0ãÚqNƒ…ZÌЉ‰d“Ãò{Ê߈²Òà %DH´ÙÙæè¨üIâ³Ûõt±¼°ÎÝ[q92­±ñØ"ÿÐZuî6'ñŽƒÇÓ\B]@ ®CG ÷wΙy?—ÞÀ$³¾æ²j==‘Œ†þÔê<Y¥º–¥aù×Y΀æ=½æ9Ð5:•ê@ÿïìÒ=B¢áȨ˜vaT›Ã (n;ëI
-öq·["•ùùTžÝîzÛ=
-:]|¨Ä„?£Ú3s$ç7§¤Üî »S§…làä´Ñ¿°yÅdÞfta–Z÷ª%­Ó¹<é–,ÎKï`º-OŸ“Gt‹àKéÉköDS(ËëæûðBµ‡ ÑÔΨ¸Ê— YKX²Ýô:ÛÜöS ž›’mäh‰P€?Ô¿ÓQJç…-éôºƒKR(/Ј}A(ØX–§Ç {(ÒF°:«§aè 7xš{4ýÇDì¼ïöä´î ±VÍ'%›nÁ‹Â"Dý‚0¨&< ¯Œy*nÛÝõfûþ`„*æÛ0E–E¾ðuýÜnwG6îñòïv*hâÀNU“é1º^
-3LHg…RÁuêã‡äU§iÐçØåö¿ÇË6Îbn"åD
-ýÎRNÅÜa¦tµzÜmæ¿êióÁܲ¦„EfN^§G§ÉùÑ{‡5
- GªK`y±Vï«ÝüŽöÅÚªÀ¸¤mJð”Ôx´Å'˨ö&"× *`bß«6»n7§"ž Ø첄ÊÕ"–8J‚-¡É:}dp}ùã Î3ËdvØœ,Ÿƒ@ðFã)} ªn<×Äizx¸Ý¥Rœ‘Š¦o vBÚÀ´kÊ;4s<zÉì×þï–Oc&6±™Z®jw+›r«üÑV&\rFüŶ½ÜçžtÊ^òâ Ë*‚¸&’ß&B Œ,†hÐtºF¯»UGEìòh”¿Å¿³µb4è\6›Pxž´X´ßO¨Š‹ÀçI¦q¿ç+sKþ ãÎ/³)¶?¯±\ã¶6†Ýª{:éTwâ?;mG'WD~&Líñ­<íZk&,mq¤ìvþa4¸M£þ«eoLšð{Z—Y¬8"Vz¶tr5ìx`¤y׿Š¯o‰µçËÆ!ÇD“œÛŠçh0¢íp@—¯‰Ñ÷è>iÎ0X‹›½?êXì:}èNwîûÑ穹«¦K¬ã@0†;4ÆxÙ4Qê­tby7„ÛyÕ:0ŸO·ðÓƘZ×$faz.õÄ¿åñÑš/ÆÁ=Vlhΰÿúh ¿v(pw =ŒÆsíÞ*¬žý ´áÌûm4Äy2m²y´KOÇA,ü›„u
-æ×V
-é̦e|ç©îÉôŠx4‘ ª:)“Ïuó’ë»UaOâ82Û‹¾ß>S Øð
-» *8%}wÇ];@:…ã[½ÛL-Íö¢H؆ªRÒ: jÒ˜ñ뱸ዂ‚š(pb¦Ì9Ñgc8¤>;©Ù<aJMH`öž=–n—0†Ã)“=ùQp:¡``ñS¡™¤; àUâ.
- hÏÓ2°éBuØhéDÏ\X<9F¤†9 N÷—ûgk&ŒÉ•µpNM§ZuÜ=kÕ‚Ùä8k®ç·XU=/Åšv˜ý˜gØSß,¾RÝIäN“ˆ\µœe:Ú2À¼;Ë%û˜°Þ1¹j¤ˆž
-…C#-ìn¬’NþtƉÍÛXíño ßl€&á‰ÇS_açÌŒ~D©±ÝV2ìÿO–…Û@ûÂÉo³>B"¨9 ¨U´‰µ±—°nÂ!?5W\:ql‘-Xö–4c>Æžƒj‘ u¨ ó H®yjq²:"fThÂä:g6@5»–£ÿsµVG}Ûe!´0¦'ã°/™éyVÀOÙ {ÆY⃭aúÏH!×XêvRK®ZÆ àÓé¤]¿H‘;YªPøHÆ5
-j¶bûÊ“ ªtêpŸØqßÞKÍ~Ф¶ö½žy1¯U£`,½}™2ðï=<V+7Úé¤~ñxÁ,ö£†ðlï³*Q,ÌNŒÌ÷9Ø¿¶`^ëæ7†3ãñce -`-…ø¶dª}uÅìY?ô´Œâ[{c^ÐŽ
-=%0×v%ÖÈ,~À¼„.öh ó¡9@3ÒÝíK¸äVèàc‘õõŽ&ÙWL`Mˆæ55>ÙfÑ@Kka9Éì®2°ºWbÍÖ´øwDzu€ÞdÍ4wæ;0¸o—>®ÄVŒnÙ|ì^60™»×Áö(Jï_ÂîŽi’3ç²ñr÷²:wï7XÉi}uH']_vc¸74<C”aå³ÀY»7^¯=Á¼„Ýù{ÒR_˜ÑÝ´ˆjº•éC‚r ‚Åg>›¤µˆ>è©]Z×ËÑÒóJu.“ Q´rA1oï+a Å8ŠGÙ¯Ü_€ÔõkÊhp¯X‹Ywp)¹Õª³7êïœ7UvöõwÓlP$Ç&mwßL#‰4õÜY›%»©–„Øé·9˜¿¯@ryª‘:áV*øÌž,4KJ½§½+6 ‹¨Scâ0L®šÉ•O™Ž¥{ÌõSóêNÏS—(Ïä7¾ Õ§ô\­åv¬YŒÂmè3?w>¨‹^̾{¬Z·ý›‘wf¼c
-»\6Çw{bÖËöËöWzÑÀÉg{ÕÎ héñÖŽÑF¨‰±˜Ÿ›|™“„ïK›N,ÝÛX39µÅw^•—°›Î›¨¿RÛ¡ cq˜§U„Î'Bónlšd)VoFÏÏkCuMlB¥kԟƧ›I”í­º)ùâ næýdn^¯ÆûíiâG* ¢–Öå#E_v¾QJ05‰°Ð
-î@A[%¿UC§Ç²$€:´10 Ö­–G¸èúA½ÃÕLͬ_'®æMöÌÛÔ¨é±JÓ
-M%½ù`jÒê°ÂšíÈ6 Ÿ:ðjŸ¡
-
-Êj &1k8•;W~HdÄ>.ÚnZs?-ãÎ{X:ÀÒfÙä¨É^çÔ’ÚÅ~ªÑdnQ»%ó:]ƒæÈs£ØnºGªQê¦ÉaÌù;ÐÆŸ•×¢K©±Õ®;S¬f 9ßÛØì8¿¹~&ÈÛÔX€‚2oúË£Ù==Ù÷p9èÃô/öR
--ã,ö÷9IœØöpèê’+ÍIå¾n¡ôxg±r°lF¦o0WƒÇ?26ày‘?/ýÁç4æÔj>[§`y3× 
-]nÚ^õ]e²ž“ËàHÉLÒù'N ¢W'À>V·VÑÈý5ü­WÙlz|šÓQí²«ïŽgö2V5å{œåW¿<Íñý
-öxÈU²u·¿Ûš±,ÓÈ£8œdàR£”²<ñ •=@00³Fêö«†²Â\¾±1U2úÀ®3šãÊýp
-K е.¹õ!a0 Y7æí=Þ)P`$û‰`üž1ìšx€<³VcÉ
-Ù$ìˆ{^°¼÷_(¦­Cæ-‘/q¹„C³˜éTÎG ¾kØ› v,éã—³º ¾ˆäWº×L‡b¡¹Íó(,u͘0ê
-ö2$®A
-œA{ÕšJf¤®µnªí¥„‘:õcÐþ-<Rez$¯ªuÚ…ÆJ¤ã…¨R·J}¸èC"H{#"½*7¤(Þ•F›Á‚[~ÜDšÉÚ›¢äµ…›„¬ÅYŠ;§°’÷p¢Õ?Ϫ®çèïlz€Ôy|ZJE"N!­jµ<¤.×~|b2+™D;¾ ׇ¦ÒèÔíI«m‚HG‘I] )‰j‡.0k^Uëe]i-¡ŸÕû¢Rc`ç3HÁ¼p—’!ò­#uözDÚG”‘*Óßu}o¯!UàDz8L‹ŒÕ­Â·‡RB é”Ș&ma¤"¦]ê<=„Tó |S™"ÒžYÇ#p¤ì QäM ¶iÒ¯ Qô˜m©‡T_•ÙåÑ]Ÿší
-ß´p¾‹Ò® UÍ?vG «ZðÃüí hé°v„µä=hÛ½ÖªÔ
-„ȧ±ÇŠ,Q¤PäÍÅ.ØH `#³ÐzËñ éB£Q1H‘öO#uðÈ µz¤™©¾‡¬W6ZCvQ¤HûA
-ìA ý¤`,œ±E‘_âH¡ö/ŠTCý-<Ö f‘BZÔŠ"E:ƒî}Z¨S49³ºô=УOÔDè_‹½œv£ûþÀÞû"-ݪó(Õ­¼lçZSëŽâq0æAŒâ–O[w¢ÛCêÔYšpú~¡˜‹¦åíxëFå71Â'Ý¢Ië'‘ö~ø¤žhˆ:"ì˪P/¾L? ×41;ÖD¡§pê©t¤ ø€Ö-AÀàB'²ÏûØ^ܺ^&qúO­1S>³
-Ý8 ±dØÃä#”O t¹U4P¡½Ô!õvŠ³FPÕp H{Ü@‡‰¼ ÇѸ ;\+I¨S[_Ž×)v—Æw-Xº%“]!X~4ž;‘pËá=^xEtø‡ê<iÌ ŒO‹‰ŽO3#DDgð1 åëùSÑã3PkLh„PymIKþüÑú$- ™Ä’
-ÑuÊcxÞwÓ´Ü}'½ë€¬œ*»wɹTÙL-› þéY‡OËpF]ª 4€bì …À„2ŽèçµÆGsÁçµQ©Ñ]bõ å–ìY83»Š 2J,o-ë“ö<%ŒÅW2>OÉ"óJ “Ëz¶Þ«L2tF¦1Ðfú7Q±¤Àß™ß ¤Iö}íIhï/2\>-@¬Ò‘¼]ºEò¢²²R§ú#G¥]WèS§ÀåÍ °ò%‹W:?g¸¤bñÆüeª{¹’?
-3Ç#˜7—Ê #onù<‡Ž-Åž3èxC¿Î¡“ΠC<ùrèD‘¢ :ÑlÁ7sè¤3èØÙ‚ŸäÐIgÐq´¾rè¤3è8Ù‚äÐIgÐId ¾•C'A‡²ÿ ‡Nº•[ýqÝÓÆådÐіŇ9tÒtH{CÇ H–È0«jÓBÚ¶x ¼x&/ØEF—=½É×ÛyùRižüë`Ø$_ûpÈõôö“\iÿÞÔ±Îø’ü€_Ó)`à,Wn®(-ãur’Á–?Ëö+'
-÷ŒO
-˜t–¼ñ!_ß«Ì9Ùããy®ž÷‹|¢[ßï’Hæã Ï•T—„RæàXÞJš“ÅkR¼P&¶ç½ªÛ[¡ dü˜`0Èûnc1§1ºìcUϬ’šBf²7ò]Ç ZÉ`Î?õ“ÉnbÇ6\+éU²›¸}*}àÀâ–)É`ŽiúÊ Iñ²8™Âò€qC°lÏ'63ûùUæ£<ž5M¿eô¢])föÎâ!”o¥˜¢Ü·’̬Ã׶= –ÐY6­=»Î^9·ÞÏM~Û šýʼnUFTíÍciJü<°—j—ì<¾û«ø7òøf¯ò_T§•xjšxŒ´*ý¯ ­UbŠ
-¥hŠÏßËxÙQ‹ ׃)8róø¼—W91R‹ýY†è…9ùËLyØë/Ÿb\ë‡{™&* GûŸŽ_{¼Û3s²¼ÀzL.yºì“Ï÷ÙÌ¢·z]Øo)/Ç!`«äJdûÈÿL$wwV†±G[|/Œ½ï¬lcO
-‰ëÀL¶Ï3ë¡€û³˜H
-áüEF*Ìû<#Bù‹ŒTGÞ5Ð<“X(®mñKSß2Ò›©ÙçnÃîÇÛ—
-'ÌÇþ:ÅóKFôüE*œà¼üy*Üïý–\ŠIÛîoØ•¤Â±ï BÉpÿ•T8¯Â!NØ?&Ó>ëI)†lVÀ¾?Y*ñi-«*çFx®>–°¼0‹äzAP.YEdLüf»7u˜§K†ß=\`e£÷dáHÝÎ X¹Èc°¼NnæçÕ D¯Ãá ‡‡wT@<0ûV3 á£æ
-˜R'•ìf³ðrëñöbvn•êì¾Ä’ÝúRYg{é »c³)ŠTS\®bH—Òõøj]q¤©r?#J^õÁ‹!­q3ìЬ‚ K}¢Ö¹_f»€P;Ò«ÀiéeAtê«d;JtÝŠhùa%…Ó÷_ JùŽe„Ür5Xã 猨ª9þMjÏëU¾×D¼ŽÕYF—Xçbzœú*΃´^ÿ²’œPÙ;Udx—¤*ɽå…ë'e‡H¾È†DwB¾×÷ªˆœd\Ÿüõô¢ˆœèø„ê¾½*6"w|¯k È&ú«:#¼»Ô>¨'¿d–â…ˆDÃ]å “öôþ&›îw~˜w³é„ì€G-ο˦“y?̇ÙtB>Aþ~ù<›N(—î·™âÙtB¾xáHûO²é8d¡ö¬àýceÓ zqCÈ/²é~)‘ß̦:§¡eåŸeÓ åÒ±íý¿É¦Ê¥“ÛóF6¯ýQýï²é„fyzÿ4›NH¹aÇŽþM6P.ÈmódÓ=wi­×”~›M'¤œ*ð¿Î¦š?h¨³éø ^ÖþU6˜nù·Ùtò)öI6ÿLü²é~E±·³é$s¬þ,›N8·ú¯³é„
-pÏ•#Ò²IO¢ü<‹ÂŸ…(
-ŒÊýë\0´^îú=åê^ƾZŸ0Ï’xY‰tr"š¯3 Ń8dç,a‡o‘Aꈺþ¸+Y^…-€Y¥åçÁKSEÇ,t7”ØyO¦ºÿeb'
-,ªñಣ¡
-wR)ïe>‘¼JyŸæÑ•ò>߆î¸yIròC~SáNªÞ+¬q÷~…;¹·šÃì§ÏkgFͳ^e'Ö`¯Õ…E‡¬M÷»ÄZ~æ£ëSÿÌ/, ¦C¿wÏ‚ó ¾ùtG„ó'ùœ%Bž-öŽx.,/‰Iñêš T.ïüv¡$&ö©(d¦§mè×½˜~­GÝ7™iLr’˜´¡ßeI19iLÜA¾ð2 èyMcòëde¨Kšíô®ôëäìJ9ILÚЯ|ÿ֮쾕Ä$Ak'JHÚ÷Ã.•ÃûÁ­ü<ÅPà²Än¬ñ9® ‹ø­bÐ~y·"Ý[å)Åõ±Þß]MÕC§o”ãÚ½šê}fv}«Üã‹JyÖ_渲ö'†!#ëùuŽ+è’ì¬g©WÊ'¢èÆ÷Pý`Æ[6ÔLnm‰¸5ßIª–ù†OFŒfè81ºÁ§Le÷¥»ƒô® +“¤àA®]–ï˜úÄIÂ+Gêl¤œ|8~Uµ{U¶«Š[‡ÍŸè÷DòáôâIx—ûÄoãòd^aËýs«Ôžº~(–„7E
-Æ¢LŸ¢c%2ª¯–(Rmnfù«Ã¦gÒ™\ «.; )75íªõh˜:‚^–£^éï„*pH`~Í9NÞ”ŸûÇ&o!XAêVáÎrrÂø`ùqc ¤µ[i¦¦úBŠê¾y³œÔJ>ÒºTÁB[i*ÕJs"»
-¸UËHådßs%‘
-øª¤ñ‹ùcNޙ׉:²¯®±`•™7€½ª¢£åg×J
-ôóÿE]?é…l8Ÿ$¾ó3R[×O@ÕdUõcWg >¨ëÇÛ†·ªçή·ÓSº®ß˼×?©ë']Õ^ÉÖõ“¸fe¤~T×ÉßZ‹¼{®~]×Oš€Hƒýƒº~{íºuüQ=>ƒ4Ùõø^”““]~4Áíón6ÇS]?‰¼‡—ѶËwëúIkòðƃ¿¨ë'&ÃÛÏ'‰¿Ëß’¡Î?N_mÃWuý¤Ï›¹Q¿¯ëÇ¥6ßZüm=¾÷‚4ÄëñýÁö¡«ú}^ONÓ«Ûžc5Þ+ÅÇÏHý¬®DZýTÕÌú¼®*%UWôãº~ÒjŽÈ{»®ŸtU¿om¢êú}èë“Y×OFÞëÔõ“®ê÷v=¾_eáò¸ås]¿ß'óªú±°|T×ïÙ•Ì®ê'vËÙ»uý¤Ã»xRì×uý¤x>¥_×õ˜VU?é{áä×õû½ß’K±÷sžDìÊêú1ŒK¨ªß¯£yuý$W«Èguý¤CÒzý¼®ŸtB,%‘?®ëÇ$¿ªß“>&û&+n]?q%ˆÔa^Üd%³®Ÿ,æãº~ì™|>À‘ȮٟÂuý¤…ƒdçŸ%Ä’rß* ¾¤t´JK8⃯Ԛ¼Q‘'+ÁSq×®tà=/m‘³škŒ9½ ‡Nì<xÒ7E¡Òq$¤åȆ°V–nšžeŽ%Z¼ÂÜ7ûu±’ÇŒý²š°v·²̧ÂÔ¥pÎBè˜uÞ?9—u>Þ }µ–AgÞëµñsœÈ~—cªó=îÆÓ…|šDq—7Õ”*çºë¼íõ¸Çeqν¥t×R°\0W1ãœÄëÛVdÑ(¹;ëæ²ì:·uË•ºÓ;“?Êf½°õï‚Ýã2¢;œÇž3~‰Üe¬SŽhÕ]Ưú¹œþ¾VõÇÁÒOí}”Ûn5mÌbE1û÷¹m :´Q"/ĉôjž'2nMýr™øt—«·“»ªFîÙÕ5ëWéL˦1d5w,Ž¢OùH{û±^®ƒ#,6çS‘¹ÕÏ<„“_ø*Ž}±yí jº$¬'yŸØpC,ZÌ   ÷¦óâPc¢cEº©vYUµ¿šaõábMkìÎï»j·À0“4ÿHÅ³ ãÕJ”“ˆÅÒÍ&N¨— dïW\•ýÄÛ>`hÕ+iŽñ·²†ØšÂn<qWàɯô²‹
-h&†™z×]N,”Që-˜Z¯‹@Ú§ÚVS¨cÈvgvíî –uc3
-i¯b¡°8â^‡7°éW‰µ;]‰ï¼*/ËÚ  6’ÀøgÂL]Ø^Ý*Oÿb‹` º[!"ÖÒ&‰µ§pŠ5c‡”>{¼o)ðôXß/Øõóîæ1M³°v|ŠSCŸMhõÃS°t-{ð¬N.{èüГŸ¦Ê¶}$o 5 #‡ã_Ž,2=ûðÌñCú„¸
-þôŽr—k£ØÍTèLd>² ˺éÞ,¤³bc,Šj‡:Ê € +ÈBÿ/Z
-6¤÷Nnlë˜fu=S&bJð³ú 6nsoo @èÙ L›„1¡Ž¤h½&k×ùzFÓEÏ”Êp$C,ðCòr  \(VWe:3 ˆ¥Òeåèv«1ÄFÇQd
-èØG˜0;4¾ 캤ɖQ{¿dEOðo[ÐS ±ÆP$®æ2¾qX¦JKU‡¶×hsÈè–¨.7ÔЕðE_YËèz†þÅ1{¨tQÇC›#¯µ€ìÁ™áר†õƒ©yqö¾ RŒº‡„{g…&YaÈ‚ÞÌå õ½}ÄÊž*3Fj@Ékƒïš#Kçö›}O ÅûÈîéGL÷±ØÛB—¼³†
-YXœ£=±-c»êXö“®Ú†þ(pxSP¹mŠ#¿>³MoJ)‹#›”v'¹ wßD»˜ÀÛž1EGݼ„MÚÍ<|e+úÑ[ûx…9=6>2®uQwï„gö#0Øú_P™þbôgçÁCÁ$õ6²› XÝÕ«_LdW
-ýeÒ ÏîÖ¯ùÞrOÏ&Î"Nܘ.)Ç+6ÜWHü±¬²pfˆÜ`@Ðk,ÌŽfð‘RìáêpY´«­‡z»Ô|{ö±Åß“CLK+-®¤©¸kKuõ‹ò±V^y Q–ø³«CÀÑüq>¡í÷U™/+kbâ¯@9¿ z›-(ÝH:9Ñ¡%[ä ?ÊÊœ#ó6ûæž… |KjÐ{ÈÁœ¦\düÂ…µRmYó)eŸ`¾2#5‡1dìãyÚ&*æ`oW{Êþ$…–ú|Šéæ4‘ŸU¢È‡ãˆÔi[ÖC¸àF‚b«
-$ôs«Êîü~Cžì<¹ky_…U á~a«9t¿Æ/UHQås2ñÐw<»2#’Q Q”‹X›q[Lƒ r‚)Ì0*$QHÒ\’vª‘
- v¼¾ë·eZ×ÄCÔxø|o¦ÎÄÿF…|R Á't_(_3’®rÖSzLêUV„éû;LªˆäaÕVI`Úíop¸H3QÃ…­£<ð(_ƒâë}õëàÚÉš©¯E'bÕòßk(G0ìø°G¯ÀYg¬ðÔ‰ÐãEÂ̼à30/
-¯ÍeûçµÛmÿ¬õûny©\6ß›Ã?“" °Ær6[ë°8¦/ËesùÿÜ’Çù}¿<ÜþùÿYcD.çu%—óãbù…Ǻ&–uJvƒÒibÈäM®|™mVUM“+¢æzG6’ëÐàoƒ¾´àys~M“g d¸”`”‚Ury‰ßSÆR±ÃÛ_H½ríf©sò+íÊö–uùáñë~|R¶7<…hľÎÍHËàš“AÜüAgb7 ¦–pmØë$‹:éµb&}4J’×”ex"^†/"˜9æX`¦R7‹Ϊ ËzGPQGåo‰ª÷LWzWT½/¨ØÂM®¨z_P‘EòEüꈴ0ðµe`Q~x–F›Ú`K –q´ÚQ€½‹^ÛTYS[­XÉ™x÷¬_[62$MŽµÚw
-S€Å»±ŠZ^½©“ ÃZ^³
-þB…VÌZVjÙϺrµ€O}%[f#{(ã`®fS† ?ËŠ÷Lo{¸·ƒ$ËÃ?rï›Î§Šð¶§ùŠ€”‘pïÿ…”‘
-üo„¤´ˆTà#$¥E$·(Ðãxç)&—Çëâ;¢ø;ìa:#!c 5R ˜xGF%Ì5la…\ØÁBÇÈDF$š3'/¬AuvßK
- Ðe[ŽBALmnÎ
-]|z]êÿ
-|l]nÉÍü¶9¦—ÿüóÃGÝR±•Kþóÿ£þé@?ˆ1h
-žë¡çi ú6Vÿbà_÷ÚØ |ª( aw¸ì
-A2ÚúÛš¢±þ0ŸŽkÖÉsíÎã>±­­;ò#¿¿Ì‰O¤PÖÝz9þžâÚÀصû)L^~|Ͼf?˾Ïñ¼§z³öêß_Cáÿ}æ¥×¯s ¥õùÚô·_ãÕÒëšGÜc¯b|ýR^—vüjOùæaļ>Ùð ¿¾rM“ÍÆþí Þ,¯»Åyº$¥Ê×ß·ñã›|ÄeßäxÖÓ˼yæE}þáá™™|n¶çõ<³j×+{Zù7Ï!ã=—{óð
-o‘z±òÿýá¿<|ÉMÅýdÂð#¢û}_5×.’Ÿwik?"æ æïìuÛÂĺ§/óúø\òöýZ,ü£KÌa^Þçé£&æé[OÌÓGMÌÓ·Ÿ˜§‡g^ö< 6A¼®¿n#7Œ•ÖøÀýuj±c$6¢®‡-ëH[÷˜¹W}®¼^oø’2'i©^%T<Rš ï±&o¬±<÷KŒÜÜ^çÆGeý5ÕÇœ×óè#ùuOq½(´ëd/Ÿ–ʽþšúë:'h½4~Jíõˆk²52’jáÇú|—”XC Qö5×{µÆIìß½ï_ÏõBú¶¾>¶¶NM¯Ó(Éæc  2^Ç5툳™^—–Êå^üã·,O!Xž>J°<}KÁòÜ‹ú$üËÚ‡×Kñ)Ï ì™b¥À^˜´–ÒñÃØCpÖN^8jkK®ùŸ•ß9_—ÑøÅ#Ï¡‘ž×ßð(ÁVpÍÑ3ð›{À«Li.xÓÕŒ×Ô2V¾.øçÒÆb¬\ùñº”Ù1Zª[„Œòi“¥\}Fâ›”© ^.^öbÎS´äK[ûcA¨Zë¹vFúÚä’/“³ìCõu¯üLÍ)é-FPjì’)/ ³^cY—]ï‘_´vÊvYñNC¹-»xYÖ gSÛ)õ21RCëÉñû0ÑÑ_—Óu›¦£¯+Ʋ£3
-àµY5K
-Þ²ó衪±ÐfBÃ&ˆPl$ô pàÆ*Í¡ùØ1ôDÃñ¢6&ú’÷ïqªØŸšKˆgœ*º;äò:F\©HsaÊ`øzLìÛ¥Ô%6R_h]#¹´®]×.ÉTFÖ‚Vßîë”X#kr)7ê’V¨KOÑçÖ¼ôõ¢©8’¸UóÒ9ònH¶ÁKZoè³i$®ù†Ê+í[>7¨¸A771µ£&œ‰K'Ok/?Ƶq’Ÿ‰k·Á]½àÚÂz\Š}@_Ð_P^X~$8K¯Ô¨cËÑ <°e&¶¥ ´øX·ø¼ócÐò¡i-•I[/'HÜ¥©u_ßµÉ׋b‘S~,âÌ^ ñL«äXïRZ|Ø¿xQ›¿ƒþô»c¿ 7%Û~8¡Ôä>…Õ%¡ÖØÒgþ6Ö
-` &Óyç:1R–‚åàOKËáªÆu¸ä–¨‰×LÄ.ð×™i#.¡]5‡8ÖÄ/ûn)o†ô k1žiª¥sõÒöaV
-E,-?}ß’Òq)iRÉÖCZ׬ã+çª#­e*
-ü²<³­üÈ|•C C”gX‰P¢ëmX·õ¸1kÉ<Ö­Î4^@O/j“`
-羄y¥-GõßðY¤W­‡Å|­^×)½à¹ÿÐH*K9<COOÀÎÉAð×õµ˜Í<M)š°†#n$ÔÚ’ºK?Æõër¡d©N9å®uÏËRàѳ4‡gê•ðì•
-ŽàIÕ¡Ewêø4«6°÷^<O/j“p O7vÇ`rÀV—¨ñÀ)Øð\ØÂ!çðìø’‘¢¹Â:Ÿ1\u(P¦±2ÙfbIψU`'V™xY\†Ê(“
-]"æ’ ¯s ¿pÇm ,å—0£^³î„Y„¢°LðJMwÁ3­©:Íd›2^ãZ ÒH¦Ê·l6/í‚η茧E]ï˜óYtÒÌv—˜Í¡/<‹/AržßÓ¦À‘i‘ð2-Z¾öÿD&² ÷ûá„̃ڑ9J§ƒ.5Çæ:ã1P¶Ï«Ø“,¸
-dX¿@ogèÑgIUšHiEÆ&¯Y’³¤¹E '
-à(k8 ¦ûg(_p[(¥›zÏ[#€öºdçÀ©mzìëjGî9;ÎúÔL -0Ò¥ôIÙº|ÀyISÚöÐtG”sÆ-;¹eÖJt;>€ONÝÚ÷óx¬ÚÚKõEÀóô¢6 Âgö—á@Ý’3Û_ ì.¢ÒFì‡ Ï û&¾Ü% à›Õ|31&^r7ÙI-‘k¦ËNþ(:Ø›9Ùp<Þ]¹³nxBð/$NX„¹ŽXä
-3m05ˆˆš7wc&fÅ,ûÂp†O¡ÜlMR²½Fö΂gŸ3 žc¬½xFwá›;?sçÀ`a}§K¶EDqÎ#nfø\lÆI¿ìõ*|®·ÐÙ$l:¼©‹tÿÔÀI‰Î¥ ¸;©¢säQ/æñX´úRõÓ‹Ú$8:­eW§¢ÓCEeãx±…ý°ñÙœv|V¨˜UÂgübfËqdÀÀâ ïÆ<Jž$~N±¢®Lh!üÎâu,væeÄh“Ø|/k†´Î% àY3=SÀë’oHb#:ûÄ¡¾¬úÙ»‚¢u}ÿ#¢™Å6tůM´Îk­·¡Ì#Äž‚Ìõ,:B›üÔB'“Î ñS:Ð ­u¡s”žÎè\›ñ°É£ç.êWJß—€Î‹å$:p'tºìô8QñÜÀ¸Kúá„ÎÊщ̨¹ëC'‚ÓÐ.ºg Ž²Þ—‹ÓÆ6‰b£8iÍ+‚…ô: g€ÐBòˆŠGŠ–ŒMËø^Òs)ŸEè\–ù‰G Dh¦k2©2È—šs@™á
-Í$)´áüí¨=JZ#ú‘ž°,ô…´.£Z*ÒU
-îÎ4 t³‰>褀¡F¡k€Œïôáÿ05Â)9Ž
-¾@èÍ>ü$K$Ó¡ƒgç‘Œlÿ¥Òuå­.‹d̨DƒŠ²«(Ô¸p¼æ¦ÊÎäëõh½Ò&A8鵹њNÇ¥pêù„(L·´Ìï¢æ<¤—ßå¶îÉocA™í®Ùvˆ×[ú'D͵A7¢ -EŽ6
-±c|ñÎiæõ)Û2-
-ï´R ¤:RòáÝÁÊ
-PP5‘,…ô}ÎáNµ2œ‡&d*™=#o±ÄÚ\¦t‚=>6 –áÊLÁ˜»(a\(¯–J¹ì¾¾yI=Ó(éІ)ƒºEÃA(‘IBaáøŃlx¬ÙHžM²!QÜâ÷S³ÕS@ ê˜2÷ÞÄ1åk×æVGPÞ)<î³¾Œ£àËò6h™3ùÓƒù¥³eîÀ«5ˆô¾!Õj2ÀWƒTì±ÈðU¼®(Å©1v^F®7=0JmL ñ‹ÎÊŽ0úÈà4ÁAØc÷19g8d¥x/L#ضŒJ´0°Ž8S° 5Œ ‚Mgž;fišB*…9ÞfÒ®kh9#D3˜€*’Yæ¿lÌ‹<¶¼-JMÌÎpé²c¿Ù%Pt¯ý
-"ogh„áùëi|ÒêìÂÿÛëÚ+Ýåo?pu"‰èGJÑ—ùH0sÖ¶«ÚPËði.Æ
--jV¥Ÿ|ˆ¸f¸0ïˆ5EfL+~ˆr¿˜x••Shù™g‡R6:¦(3vp â%;òù×AÖ4ÒË:k0Á£:Ò Îà¥ñ4IÔC­hTyGÐc&ìZ]‹)p$ºì-ØD…8SÔÇÛU7,9ýÇ –ÜØhî«Þ,öƒ°4\¸atÏ°4#Ê+š
-X®±žÌåXr¡û½¶>5’r¡Ï³'“~x†U/Xý9™`‡«º…|T´Úd9Û¬0 uY:
-‘£ Ç6R|Fð}GL…AáøbÒ-çCä*um@dÏ°¼¸?Þ¾õÓ<VƒùíòýWw[aÁ ÕÙZ”ö
-(íüøˆ¶D‹=D«Áv«hvÏçêª'ÃØ ûxBa˜²°ú<ÏT–ÌøûçY–ÒãO~þåH¬?ùò¿ûäÝï>ûúw_þÓ/>ÿÃÿýo.H–"¹œŒé‚èÿ¼ÏÍó7ÿNŸüïÞ)~›¯Þw ïyä¿ø”œ{ñ)Ü"Kƒ]‹m?_ùÉžŒk`]##o-)¹v¶ìa³‹PšRtÝñ‰ê¥ëªý U¿ã#öP¸ê}ä[Ÿ|õÕgúqMðã'ÿü‡ß?þò³¯ÿðùW¿ûÿ>ÿ+‡}µfZS¼–à7¿ÿÇÏ?ýäçóÓÿô_þÕ¿|þ›OÿÏÿø©.úZ+ñ“ëo¸ú=>þ䧿ÿý»Ç¿üŸŸ}õÙ_ýù—¿ûÃï>{·¾×Öïø“_~þÙºö7¿ûâ?ýö·_þ‡_éO¯Ìî½þó¯õçàßñÕçOŸ¹^æ¯ü æó©7{Ì?{üÛßþöó§?oîŸØoÿó/¿þÃg_>}þéÏ>ûÃgŸþügŸþâ³ÿùW·ô·ÿëó§ÆW\~à„Ö¸.ÿò÷_>¦œ+Áù j¢UûÕ'°¾V¨þHý)€úúæ¯Ï¬l—ï󙪊˜ Ü-P7¿À´ƒ >˜»2+™IJiƒ²ú1ç«÷UÌ2ÃAx!•Ù=’úΓÝcÙ"¼u&±“ã*Q“"É;NR ý|ŒÌ˜ä“ænïîŒ>;c(B®Ëª|+%,ŒUÔÛ!××æ|…Ã
-x‹TI5=…ßÆâ³á~ ™o¬ñµl ` Þ)ÝE=†ÚÕ—a šJæï…DâãÉ/_ïý|~ÏLƒµ½ }¤ð¢_ ·ŒÙ´QÎ ¨Xu= ùÓ4l6­—Áñ^Èh¹xxxcºÜXû"¸g55~Ÿcäøº=v<Õ¾Ó~ô«×{óá9ÐDýÃó³þÌÒÔ›‡zv¡oÑp ™77˜zt·3þ<ˆ¯‘~—+Àe†ù^?Âë9xýÝyÆ:ûZÚè`j/yÞºMî[0¿:CìB¨Û*S0˜SñY)†êå<£Ô×3k±^Û¸¼jìCøüO»>O¹>Oµ>O¹>W³r=ÏÍÓÅl¢°JƒÙ.“CÉï•ZL6Ôü“*‡±1Ž,­ÉFb2¯ŠèyQݯÈ2VÇÀsúNZˤ÷¥~òCBµ"ÿW%=‡Å^*]ÐsÇZ˜.ÆA«}Í<êøÚÙìn$Wy…ÐÊÈÃ?ʈ›å"æ×,Ç(
-J,È–ÃHŸ7 äfxw«7.YòÇ•O'*Ÿ>RT>}œ¨|úðØLÝ‹¡Èo !7—FÈœÐw)IJ†*S™CVŒ¥ÖîÒÈy´Šê`)ÚdðíÍÑÐÌ
-Pm/b¦²¾\CÝñºxG P#˜ ÍÝ\e QLL8Û'¥!
->\‰î~.Ìe–A˜Çvè$ÉLLcñÒ~§ž¢2 ûþÊ$k2Yi Å*«B ’ì´ö þ­9™õè¥#Óµgæ.¢¶bFg¬ÔRÀú±5îu%:³ÛîyH”g¹˜Ù«ueO¡Žíë9°™ºÕq_j¦.¸sÒS÷ ÛÍ—®`j‰X”ñHíP.b0p‡ÃþëÍîixoÌ‡à–¬™ÌBh:P¦In• Pr;ÄÚO•;ïÊ3¾ð-_™à—Š ói²[N  Ç𭬊j6ÙM"Ê‘æ·-‹Hܦl&¾I|išIÕF }òí_-¯Sv¾dˆ_ÏÍÔ½˜¬N‘úÑã¡šØ;`ŠêW(Ã,Q\7Ù½áÃNèáþ&*S“­¦=÷aŠ8›­:W‡Ä·ŠÏ p619Å@ªW1Çehª˜_
-ÐffA
-aÖ"Ÿíè2˜\™=s8 ÈÄ:˜±)C¦{I"¢äT
-¨îý¢ïZ]TÙ©BÛ(B>S·O^
-˽ƒ(ƒô¸£Jv”„æx»7
-×ñŒ˜Íg>D{Ô²?º–£Ø`ò"I_ݳG/gã>¤œX½j2,¡ˆê‹«­<>³¦¶™WRji$ÁœË–êYå\ÃR^´]º§µ$Û.ÁJF)úÝ ­DTé*+³óàˆwîŒÖŽ˜e²Ov;62®¬ò® »Y«V<ó áæ©ÕëC ¾¹-…ÔaZè~Š[*/ÆòðÊ3? <^p=µwäì*íÆÈ`(5ií*Ý:ÐÌÆ×µi´?Á
->í ’“ž6FöâƲ£ùNâÊ[õr "Ú–2âô£ Å,=>óFw¢òzÞðþ€Á6‘[Vâ÷Éô;Ô?0-™Õîd“i¡G îÊÂd‡´Žæ›çú‘üëߎü‹®*ÂÆ
-g%6ÚA@­Éè? S
-–®?öIOJ€:F(ÌN¿›×ú刎뾞ӔÑň¡`äO·JßY'/`>•Z³¸å¬º‰œtXàÑIõš"÷¶^¦H0r¥à
-¤WÄnEι(ÃÒ•z•­v9z»¯„ØZ,ªuMb|ŽH˜F;T9îukõ~n($©ñ¤q /¶Ïð« *.ÞÕgã>¤~ÓŠpHt…™ˆè÷i„`‚Bú‹Å였ÆL•ÆƒµoD¶™R_&1û‘¼_ù:ì^XÕ§É(kW7ZêÚ)…ýºæ=
-ƒQÈp©e"~gEJJÓÁm¬ƒz¬:M<Utµ"³¬p~L¢Î^ƒšäEäö,ɸ¾í+ñìh,ÌpåúβÄvF$õ Œ|‚õßf¹)I&à$$Ím hc»ºidí/$wŒè†m½vþ
-dHË o„ºMRMöyÍ9[{¼ž¸‹åÚDª/
-¹«£¼ \^½«Mƈ›’×Þef¶E°È8 ¯Q‹lÉy”y ‡žL d§-”s¡I OQT7v…Zë-P+ÕQâ²²I©¢r-ËÓ\&ó8EöæŽèâ•bŠ>-`É¡B <åÇF¾•â°D¦
-9-sΨÿî¹"`˜±)°cÌ‚ìàò}ÄÒˆçT8[õ;Q
-ÍÉ”ÊõŽ¥z¨/-Tš‹Íƒ²B£× .SÌ  üꨮ<dÝ?=È3¾¤fž¨­……ª421Àn@ª
-5è bZ ÿˆðÒîݢǴn¨aÍjÒ„!œë¿"”EC^?ó£rPî ¡„Š:­v1/ÆШÑf†©ÊWˆ3ï
-w£ôíÚs}¢yFÙæ«°Lì1_JÙl†ãŠ37#° mÀN*|SÕmZ®ùj‡ßÂrP,²°~ý{/*Ω•Ã
-4”ö5#؇섹‚HóÀt+þk–û€=
-îzª(\9ãxCðcŠ½ '*$#?!‹^±Zî›W¾ùc*F…NSÍ_„éH4éùò¬±A•8{-Ìvãmø€?â˜É,!»-Ž q6 éêð&‘]ݾ™ œ‹r÷xͽc5‹ýæáïÄûWÀÊØãÙ0A
-*}ð‚ ijN$ëk7fó ëcNÀ;t•ÌÚKL3§'ˆ¦}™Ù´è ¯°¸ÄKҾƓf¸xô»Ðû=c½C+Oö#©¦yIS­³'ÞX·w‡¬·%ýn€Ñ(ýÆÊü‘¬ïߎ¬§ÑôÉg%½Å}VL3ÀH›Gk‹ŽeìÇå8Ïí’^åzÈóq_N\„žtÉ5‚«ä¸\Ïò=¥Û3H¿‡lï•›Ÿ? ¶½ÿ¶=ô5èˆÕ’Üa2¿å¡Ä”©g†`içîíþÜír•çåˆóc“C5°þÃEãü‰qHÇ'ñ¾ÙÐñb`è®Y¬-O>»­¯Þ>(±a¨brY Ý¡˜ËMay.D&Ü"õÁ/Aøù9ÕÓeâc•UxŠ>ƒ>_Óú¾dH{Ô¸³‰ß`߉jn æŽå¹Kó~fè´ þÁg†
-Ë<ÆiÖ}¿‘T/
-.¿¼†Ë'[¹bw½çäÐsRˆ»úFôèë?“ðL¾çûãÏfàcg‰`ÕPw¾xP%ýãÕþ¶Éïª:céŒ=·và{À¬ŽVNE²Ó®ðÇñM}çÞf¯„Ý×@¢qºMÑc¿
-C}œž&[¾ã~Þ«wz¿ÞsïîCèzÃ÷ñkGñëq¯Ïch»ëæ nóóæá™Æ1î7iéò™í÷õ”`Æ|ºbúTø=Ž‘ý=Ç?‹ßf?íõ½ùÐ[Û̈3íj–oÖ¡Ü>ÎÍzÞ.ù%,Þ<<tÅë ¾Åè ŠoPqE¹÷qÔ*?‚èeƒèïNo^Ô±Þ ÀLRôPJþÉ^T5¨völê“UݧªDÀ$ËÆæˆ=§nŸ#Åj
-©ÞøÛ·W=]P×ì&úp¾•KÔº#l°|µ©´•ßÏt0CÕ¿.ißàši-M÷]£6Èq‘ņêi™ŒƒaÖbû`ma]”kõî¯I7ªì)W£˜5ȉѼØV£˜’ƒ^Wù‰žOljq ’vÖ¼˜U´I_—­KŸAñàÅ:¼ñ( Ä°¦PYQWH¹Ä¨u>xa;óê­mfîÄtº-#¼ÚšiÖâÒ^Ûé!µŠ‚›€!h@>D'°³FñÍ8÷¹Å¦0oôtÀ·pª¨O‘,œvöÂaV,c
-:Ý–%ýB! -¦ùÇašlŠqÚ^pÝ6Š“’uWYsÌN(ï8–$«‡QGy3g5%Èz»#ø·ÊÂOÁ&q1Å.j`jÖ49ÄnˆŠªõ5çvò[^i°Öh<¬KKe©8FzvÕ£Ö¡Rð–TÝ8¦‰KËš¿š¦ËR#ú—†Ë«·¶™¹QÐ鶬ο°ä³·cGBX‘”!Õ†l{“(Å
-Qy Ó©UHSË`<Ô%¾(¹êASü€„WföšFZÜz®‡UJ*I"5V×›ÕX®vkÛ<¥ â UjTvæ6Ó<YNÒtõº9 >2íäQÖ,(F¦IÎVÝ:o:5’»%’þdV\Øç6›W ÉtùßË·¶™¹‘Ð鮬êscÑP¸½rÑáh•«Ù’òð4FŠ‚µßd¶NËdÝ©Ö&Yè58²
-ÉÓ*ªyæKÃîÕ[ÛÌÜ…hhß4‰.Û¡ë6B5S#Ödçâ´Òw™…¡.uŸ¾mË[-ê Lêî¼V‡®™8ÃÔà&iiÓ4ä¥ÛŸÇsVSzIg}˜æÝšr³r)+Û3ÓÙÞÔüÖCv¬›[78vZÖ* ‹ÛöèÎC%Âs‘,¨käëÞ‡õz2/WQ¼/ »Wom3s'&¢ÓmI`êloÃNÃèŽr·ÅDL7>i.L™uÍs
-MÛô™oN¾T¢Dk‰n‹™zËæyr/™nîpRýæm¦íj+]e1æRŒ v«üÖØöIð¶¬r'Ÿ#tÉæ朳|n¨áÐfJªqtͪ‹¨u’Æk®‹d é×3y¹ˆ±ÔÝ«·¶™¹[Ñé¶\K¼ÌóÅòmæA%™
-U…±OÎì2f»ÂE!P½¯\¿¦<¤.»($4M¼¶dâYÄ0©‚üʬž äÂôãx)µ“è¥Vtÿ2H=Í—«bêÒË‘kƒN¹±ds´èÍda¼]£x¢ƒƒ·¢9â2c˜œÏšs_Íåå2†¨1\¼³ÍÊ}¨ŒNwM;èn‰'î>_ú…P̵? Þ$+Ò@”-¦0FÔb6ÝB唳æE`Æ­0»dE èNUI«ƽëˆß¬ðÙC†Ã5ÝèÖRwÎ÷h•¥Q93ë]‹\»9‹¦É佞¦øl„Ôá>â(ÿGQ±t„¡ð¢©Îy^¾pÐÉ¿ ÐÞ¼5çå.G§[žSE$ÑuŶ‹Å}“{ÚáÊÂ-lJî0ÕPÖ{QÚ!Å’k- ?úwP®{¤Ðâ^;P^­Í/uˆ¦PCëùpöZA¢
-Ýð,¡KH4KË©#óß“ØÛo!̪Ž! ôÉ5L*Û©*)
-ÖŸ¾•¡ÒVÖˆRÖzšÀ°í}1——KØŸYä:l/ÞÙfåNôG'‰ÎÚôÛ–›­Hp¥ß&öÀ#LLÛ†f
-ßRb¶8‰\r$"fm™Á„Ï1kÕàR%HÞ¸©XÌ:YÒ`®ÅSUwÔ »ÿÁh˜t¹9w¡Ï—ïIPn¦åTÑÏwùW»ŠÑžX‘aàD8»Jµ0¥=™7Šq4Õ" ³<Qý7¿8ÅÉ,¨Æ.47Kp¹ö-ÕøË—¶y¹§ÒYýFzŒ!~w=›Éü¿%M[¥`.Þ<µnÎvÄm@¤˜bºølæ‰ Lµ~A‡(v•›sí°!å¦ù¦«"€ÇúÀ¼Ò+ªÕGÂùŠN Qv2—¡»JBRöQ°Ì#þM¢}* QÐè»g<üÆÁüqyX‡ µZ‡sD:
-ÛDJSï®}«êŸJÕœ
-cìÖs´°€žèq´êŨV 3Ú¹½­…äÐéòQ”ßcˆ‰!å w¡r:1—n™!6¶³ ¥8À,].Ô(Øf c1[&Ó£ÌqUÔ
-xê悲üÉúÚÓq›á‹ÜÚÔãzq|Vt(Z:ùQ6TÈL ¦0]`P9¾ºäÓðb
-Ä.Àøï *{ÿ^¬ê½ž²:/ð¾Hšû‚«×ŠÄŠe)W•ºÓnµ-¹W¡%'óc‡É3¶ý
-7±v‰lêQìƒyåÅƼ içe°)òÍ,݉ކyžEß´fÝÄÔNÏ eÙ>¯ºJXw¯pÒ ]ÿΆ_0k$æ¬ïœ©¹éµ7}ˆÁ$µŠCR²|hK¨ÆDWWæÇq¿œñ¤´¯òœþ‹ ¸ S¹´ìT…¿0œ[-¢%íŽÜºÈ ÃÁš§ƒczìØ|ÑÈ,=BÁ‹*ãícîm“8¯ª®Œ¯-.ÒB´bŠ`¢¼µÎÅÓ+T!}êŠ(ä„VËšÇCZ°®ŠHTWY‰…åË´ÒR–³Ô£z­q¬XæD®VR”<£ó<•wâ0ÂT3^CÝÏ<þI}S4Ö$+Ö6¶|ýqUúG›ñìÊò[45b«³IÑÔ  rôÌ­ 8™­}¶‚•¨Ec_£ad¹x»0½Çˆ}¯It¼åL3]¾å¡t{mít# [ÃVpGò
-Òà©Wô#ûÑ¿ûqÜDTÌ2 *NwtªaTíÉ]$Ußÿ0OQ}]åfº×"ꊠ{­ÿòªý%øƒ•AjÀžë{J…d
-íÏ>7–Ôhãí3(øF¶¤?…jèíOþâ“Ÿ×OÿöËß¼ýìŸõê•~ÿéçÿô»/9ò ŠJ¨ÌkŽÖÿÃcÅàÛ|øËÿüÙÓÿóÙ?-Ññö}çW¿xû÷?ÿÙãx<®ý
-øðéºzýéB¨²þùÕ¿^0!¹åàw5wþw”ÓïɶUÐ+Iþ×ÿc ýëcyüÅãýoáñ7ø¦_>0¸‰Š™Ø)”¿“–¦†!Zw¢wyÏVÏžËàøjíuµÔ
-òXWŠï£] _*ìo<“zW–ý”M)¬öv1ñå–;ÈI<úšˆØ£ÈW즰ô£ˆŽLÙRòaìOŒÕ5)üº ŒéˆVqôáb´‘hú«.Š‰}o(;ºfW}¦²1M%E§f)LSm6•G€fž£:ûÂ5N/a"|Tn·÷?Bd=}”Èzú‘õôQ"ëÃ/îÓ£ˆïpWv7‡« ¼ÙéÓ×¹8Ö£Q©•@h\3(¼–uɬcŒ×.¶}Ã{Ì)¬
-å¶Æ‘ œç!ªv<À°Lýf FÊê ÄhGd@w@r#´ÙúÎ7t>‘!à;mm<llȈ¨’=ó°ìjh‰æ_àø %{cUáÉÌU¡h⤃õˆl¨‘‘[;u‘âÒÁÍä­wìÐB×&ö„*ÝÔ®µ²
-ݱê™H×ôdr¦”|a9S\G)~ÌÉËJÄäÍMºÐ{{”iZbcÍy §îQÀvF†Òš^ÞŽ¸|oŸßž×â^Ÿàá‚«ý;ëà`:œîûewÛþ<,‡t- )›#*‰JTÃóL+.Cvœ÷\vRv¶¬ÎëØꄾövÑn6&®DÜ+5‹£{ª†pY# ¬B¨Ï.Ê%ì!¨ ÈD~̌Ȁ„ÕS ¨2"Ò%Sb*/>µ”ÚFGôÛÃ#)ª~…è͆ñrwuŬZ‘`¤d:ŸÆðåëɼXI¨)%½@ß¼¸OaxS)šõºdœ&go>Ï$ª'2»“yLp„‘Á·E ô\¨"9¼ªrÖtÂ\âé:ášÂZ5:ÍR3 a¦]4ÔåNÙGl})3…B1EÈ@`Q+@xvhjºYþ&Á ´„09q~`ËE¤1ÁY °s §%25“.Ò= ¡7œiK1‰å`Qµp<ÁŒþ‹e>0Èך$ºâéÌç×Óyµ–Ù™¢^ˆ¯^ܧÇ@¼ï<÷'x‚mpÏüfbL~q=10îËþ´æˆA]#ÆrÊ&v{Ö@ Ñ\3:Ò«¥$· $n›]eˆ*®2h–!ÊÖ²;ÓÍ ’+C$»íIWC0·‚¯ëQ&0¼^*ÛÇú ¹ÑÕ ®‘s½ùZý+{¹RI±Ž½h9(¬Ñ⻫¥0zˆÓº i±NáØ»¿{çNZêìÈ͉S‚úõT^-¤.¼<_½¸O|$i:çRp°sռ€4£§J’ Ï )1#ù”®ËdÕ:HÅç
-ôQ
-ÒQiõ`ÜDŒñee*¹?·[8@[0!<¨úö£ô™'~; )f M*KÀ…¶4fJÜnT8,óPå>Esó—6pÄY½î¯«Ž›æIýñv&¯–q^z‹_~¯_ܦÇð»¹t·¶ë‘½àîW*’ e£{¼ÄoÖ‚˜îE—vJ(@¬cB1PÞ&õò’ î#ËˤÊM8Ìb‘×$± €^¨²µÉ¬Zï
-Kc„Ì
-©¾žçÁ‘Òá4kèA%‡X/îgH¯åGK–0]êÑ %"ð@ɬð_¶ÞÀ‘œ‹ˆ¤ªbw&‘]*31êh°*yí¨>ÌÌÄCnÁ HÏË÷gë9ëã- g›ÍùZ"^sA€½À²Œ/âfEõŠ‚YgÚ@5ƒôÓ†¦%’ÝF&ÅêKŽ¸ÍwXÊö9j¬ÝRð'»ÝÞMV–ºøå»Q#2G-S¯í–i›‹4¥@a ´œÒ/–-crsVÅ™éKÎB7RI$¦a »`]ÍÔì‚‚[ˆ¸Ô,ßÜ3QZúødăÑ3aÞJpj¨FŒõ½Æ™Q¦\â}8Û\Ë»—ˆ_²é2Ê3)dü¢Ö7ΆD•¨Æª+ZøòÙ g™"oT¯'ŒÓ$œˆDsÕX䂇”.-¤¾«³:@K ÈlcÛ<¸¼`´k$$øò[WTAgù7ò*ŵ˜2QÀ{;«or`š «y’Õ lªËàWŠ.¨,½Áö‡råº2T~†ÛH|¿1Öúµ²
-Í¡¤5FÒ20'ÈŒŒóPä«ÓOPÈç$wTâEø· ¸šä»rSG4l,ññ£àŽ[í»Z%(ÔåžßiybalBlšõ*Gõú|ªSÊVHÐüqb´`Šdc­«™¶­3?6DIÉ\¬4d
- ÅÊÁÞ•¼œ~-ë¶dš¥´¨4ÅwÚ&ßk‡7 ¥CÍBÔå¤Äqˆ˜¨8tYyà'4ƒ/· 'E¦Ÿ±GÐŽ†HƒöÇHŒIBy$™*Ü’e*m%´ìÌÈôŸ‹Ñ[+¯sB¸†ŠðRMΓ#³ª‘ùjBlÕ“8.Lo­bî}zÿVT”ô‰bf­ªÊÞ ÆÌÊk†S›È@˜OÒ^Ôœ*ºV¬x)0LH‡(µ20$Ÿ3Ñ ‹þrWA*|WJ°]#ŒQsr‡ì:Ô|MƇ1æ©xµŒ{£±&F˜Å#fÐõи=ŸŠ¤YÐ`Fýx»äsæ4™º†3H6É];<éˆ:ƒe8Q¬Åºáe: ^pð%¸p*æ·Ô5(eDFT“8™%ʳ¶ÔäU 5Vg'ñ‹ Ï Ét¶ol‚‹£2p]™¤ E{SÙÙ‚]¤ï‡?[Î0`CD™/ i"÷›Õ8#ƒ:f
-1b‘^¨îyN³ôJ1˜w¨§ø : æîÉi,ÎÝõ³9íŒu‚8‡^Wån&õá›ðIbŒ$“
-»ª5ª§æÉÖ¸–õh’vjv;ÐPÍehMÅKÉ3!= %—7 ”¼ªà
-šªú¢5DÀ>c”ÐD;¼wÃ6ç˜É1Ö“±t}6I HÜ»d¥•bUXJ³†YŒ]'€Z#ä©$ÌÓ×ô¹¥ðiŒÁ^
-ÆJ»w)V-Äkª‚]…¤ç£j\ÍdN3®-nVåé>n½1ä>¦ µZªQÍY+ÝÕE„²·îŸopm/,©>k>nöŸ`ì&Y<»$qÃHóJN’€fïÌÏk8žÒÈqb³¤b¼x—5/š[pOšîPÈ ›x ]ÕÈóx3OwqeAváI©%!À/2±H1?‹óÓ£ûL1c¯µþŒÇãý">µPáó1Ä íÞåg¥×¿t÷g V½inÕ#ep_8³6ݳ4<n^å}3ô-0èE5ã…ÕãLó| ÕJTË.ÃHM×EÚ¡õ›ºµêm†àû'ðÁS'§aËì:蚯O(ÎdÍŠ$.™5V•4Àc‹áúEž¾;TsIéš:mi [7Ú4ì’a\¹Íê9V5=dd–‰û3fí„—ÿf„—g¿[ïå¢ñÖܯÕš…­_6“ð‘Ì•ð;ÂoiWŒz}‹=bößúÌ¢“$›÷’wAzÏé{ø«2ýItÅ~Ô}‹Ë÷ù¾òeÚyaæ+½Ü„/s]ÝóL™×ø¼Bgÿft~›ýl~{d~{\þö;÷¯ÅŽ¸6(¢“d¤f9¾8AŠa²á
-9'Â4–Tùn(f²æ}Z‘VA­ë¸HÌï .“¹ë4‚¸³}lMeæ©S6nŽP¦ú$V/²‘'ò1‘íþtÕT«mÆ4ÍçÊ€®Ê¦:ædXo–c¤ïOí¾È›g¦×'ÿ† 󃬪ïÑ.XU£È|¶þù嵘úä‡+¦¾þ3ÉhÏl¯Î†ü”¯¯˜²YS
-ÜB0¤–†¼~µH6JîÒz±eyÒ(»"®±à'w
-/êc\AºQåUû;Ö_ƒ•™"·å…CF
-#·*7û o{^ý+ŠÖoC…õ#D^Dþî¼Ô¯g*Ù×üBLgY^ð6žÀH´ õ
-C(pÆ @x#ø@1BàümÙgž†R)íâ²?œžøé#áéãáé[/ÂÓ·^„˸záÛ9ÏZˆÙÆàÔnæhâHg=d[Z²‘jcª érº82¬(˜©­º¦U{©>ì¥È”úŽclr„—_'nâl°9'F˜ô͸¬4¢Ö‹Í’+9Fª#ôã7²eÊ5™˜2•ÙYg9ÆH^E‰¦‹Øz O þ$Õ_ãûÝiñ¯/¤À¿­<{ú(yöôqòìé[ȳ§½¨MÆÇR˜íû€B«À&ïÝ µèF1›´ìIhD¼‡Úô±–‹Ð?á­ i·¬kRÔ~ØÔ12tEÙ¶PÕw%TVrÏÅá"€YHÜ™äg‘$'˜-1B5‚Ú"_`×AcÑ…:O¤Ø­‹: é³. ÖÔň[òcÕ¶h€·#ä÷$÷bÜ9íµ6M.µ’U8/‡sOd0•Ú%›Î‘¡b¼]Y[¦ÇV›–½ÿóî5b„Lͪš(²Ià¢Ü‹V—¬ÑüþÐ5R\’Å-0ÖüíØ1œ¨`3æk˜\BR±ù°÷®^Ô&ãNli§Û"Ãò •¹ .ö_1Ûe­ºZb'„2„ò™åÌ!„kì: ÌÕÄ’®vB:ý_Q²A ÔŒdqD”kd¦Äï,¹ZëŒöLnVKBü2)d„ÎŵÀ¿àÚÀH’£îÎüj‚³GCì+†& j9ÁØ2V]&M\¬ùñz&¯Öp\\òëxf.îÊvºi^òȱ:¤F–.R‡¦”Q”€¯1ueØ™ÞDA€‘0÷鳪ÕDb€©£Â\öñM$uï6²d¸žS-í‰c&X+J#^5+r•v$3IDiز+‚dYÃDÏ<#]1g ¶Ç›¹\Š¥L·¹«µÉ¸‹Ùé¶ìÒþ…©Ð@)‹ ~5)ì€3?™F:le0Ô]®}Š¤’@Fa؈ â<|à)A¶ ÆL/ï°”tk“$qسc|‚iUg¾)+Lz¤U^ÖØb2
-äq;=©hãæ<ý û2¤w+)8 ªÌ\·NI’úPŠ7óx¹„j™ù°zõ¢6wâ+;ݶe“ÛG
-I ®'órÕní
-‚eâW½Ëi1eCku›OX yZ“µáÓM f¹M¶:ŒýL²uèªe ^ª­Ó’Ok˜by`½zQ›Œÿ¿½oۑ亮ü‚ú‡z!ày(úÜ/3OR[d´`Ccò‚@7{8’y1H a0ÿ>±ÖÚûDDVV“,%G"»°vgFFœ³ÎŽ}]û6Œa§dBÖ톥XBŠÕlWóˆU¾ÐÄ`cÚÖM†üùp
-‚‹6š"뮫€[®[9QŠ&D4H3N-…hæ¬éd6±ê{ƒQ†™œþJ­)âŠ.úgåp«ëd:ñ4z›Í`ôŒV…`º\3"rIÎ^W…ćÊ*SnÝ(#’4e’*¦~U*îrˆÍ:ÎóÇ­Í;ýû¾ý¹÷÷æçç´¥¸¥ØÑ´†ui0ç;»-ˆE2ù'YF0¾è[÷æJ²%SfV Ô1Òóö9¬0¡eÓÛ±yÐŒü4Žª R,1eIcƒ¢¤˜É+„Ovâó ØA˳ïâ¸Sqÿu5à¬iðᨡÆG±üm1?/Úø@DwK²˜Z˜RJ–Öhªv
-_fä¯ú° UÉ# í
-òXÃU€]ž¥·È~NåL³§ï(Ž5Ê¥!¶µ[Ë<¡Ké¯(ºŒLþ·á;þ ê%]z-j•9¦ D"€C}WÙcKP[öF3 •jÙÇšbM®Ø3kïæÜà
-V¬Ä#‚ N­tg¬M@™³ÅûG[z’1 Ë0å2S–Â\¶¦·ÙvõÂa䛦C6J¦ÒeègK6ux©¶Â‚Û3'öí [F'¥nZb¯èÑK¨ª°A¿ÊMªâB‘§j5i4o´¢Ò"N,z ¯ÏÛÆJC\¨ÊÛÚ”ð VKÒk²ÃTWè>•êÇIŸÚLÃr8ƒ—[p+Š2X U‡-ŸéáU—ž5bì¾™½lu°œÁ˜ÑßÍYE‘hI–ÅŒ^33mûÊ"Á‰²8 ëmh¥K¶ÌYS¢, y .j2eF^q¦7a"¦Éʵ\ˆ
-Ãìöˆß34Gž3k›é>óT»ê®©ÑSõ`O›.#1Œ6¦zðbç•ø>®öî/^;¢+dDÙð¢Ëâ‘Ћ6žkt+ Qo’ç"²›%íà}‘«ðÕ‹¸äg”e½ '¢hJŠ>–èAX¡V)sÔ‡V8Ì •¼€BÎqPc®4^¦WäÛH¢C¤’´a’>Ö÷\cW¥ª»ÍÚ±ŒU¯3uX©^Þ-ƒ`ªƒï•²ÙÕÞ4)šé±yªžÊ QFRÈÉ=·éFKÐ+ë¼–7bçÁ-·"µ“§¦/rùhö~¶ðqµ i« çè”bE4Èɪk7eGF„
-yQÖ'2ñ~åÙ„ŽÑÌ bŠœvbµÛßÆ°]Ŭ’¤ú€Oa<W“œÛ@îšÐتän ¹ Õ‘4ê¤ó
-^O¾€aì@P'Nó"ñ~qjæöTŸDw„ðjØŠ3®¼¯Pž›8XÃkº%YñÒ”¬AÃ,ê¢ÓÅzX¶ß3/Ûä2` µkIÇlk§"ÇÝ®h£¸µ¼”¬ÓIJAbSß‹Í—e‹ê6H¸f»Mc@ëߣY\b­Çp›8]qÀÞé¤ ÁU?„à¢Quü‰T Ï"ybÚ‹I@jh¯ðV»}Öf:yZ2»±æ•žd¢’l(êlöV?~ìg3Vr_‚i­  ”Õl²¢Ýã!i×®ž®o9$KwnÁà 
-òYð"Ã^¸ÏÚ„7òÂkõãµRÀÇO¤Vëol£ e7Ÿ›(™ÿO’©Ý„—­~üÞú{ê³þ7ïrÅïÎæwãºö›+osøÞá~ ¤U|ÚMƒ=EZE»³ oU'oÕ ß}ß{ßyßwß’”ª‘Ô׊c“%Ô\FJ*—RAXd&ã{Ãzx‘
-bpª²*#( “‡Þk¨s‰^EYL¯{qMfûsæ¤ZWªòüì,K#+Jê~µDWÕ°’ïR¥^ ÂÀ/r†ÉÚ¬BšÃBjÖ£q‰L…aõÏö¡bÖÊ÷{>
-ÐJXW͈dÓÈ»›Åèh zçnµúC
-t“ÙXjJðÒ«µ—jNë?m–ÓAÀœÂQÀVÈWW÷ûc¤ú6ôK¯z÷ÁO~Q÷³Ï?~ýÑŸÞ~ùð ¿úö“ßNÉ]4¥%õ•î±ŸÛâv° T_ÿÛÝßüÿý
-öõSï¥_ÿòõ?ÿâïîÿëýú装~·}xû—“Uð“í¿_}â†ú»gSC]˜¿ýÏ6Ñ×÷åþ—÷¿ùm¸ÿ¿ö«»‡í"jj"4Bsð1k€…S¢šëäÞ6HÔHœ% $[ƒÂ5úô‚ÏlT~sªô
-ÓDÙªøѺ›’)$E´öÏ¥0ÐÀSW£ˆCN¿ªÏåq¸9]͹­õõ)†©ë‹²„¡CDJv&—âsÿŠ%ªjY¸q¥ÀÈÞ 6–ÄŸb;%KV>0œ.•‡YìûOºhûfŠˆ¼µÃÇâ2­‹í¢ÃoîÂukëbûí?zÌWß°¾lÿrwm#®n×嶾º»¾ý@òL¯î®‚î4Ëã]¸ôÇÇá
-–.øª¾{¸ìv/°ûî°ûùiQpåV/€c³?= ÷ô(
-šÿyågÞ<Eß<Eß<{Eß<Eßܽ{I®-Ü>\Xe¿3„,”£h³z4@&öP$ÒØNSB†Cx
-‡n¢—J:cÄÝ)ùñbvÃèüP:€ÏÊ9=.ÜCÓŒÎqËà³ù?2VƒDZ³€ANâUþâ@‘T`H„Q„'EQÅq‘S±…Í«eðc%Mdi#òjãà 7„tšIq6Œ¶a­‡ L-NùtðÈCú´/ååˆþ>Vz®.|ól]øæÙºðͳuá7-‡/Û>7Cy¸TÓa1¥Âv:'
-<Tì:AscèÛRÄø)ï"ÊS‰s(êÌ9J¨ý Dã?3qv1ÄÄÿ^ß  ˜¢í€È˜^N =Ùa\$'a*„ãñ¼ok\ŸP略»²$Wî´ÀÕF³B(4Tn.ÏM³“MÒJ²ªœ4¸¾JӱȅÃ8åk¨˜§ÍC‘Ǿ>›ò…‹CRæÁ“E‡ôUô´uÚœ˜éJæ…ázŽL féǃ¿§ø¤9ìA3nª‘N»š«jJÅÕÙ3@ÿÜ Ç<5µ|ðbº³QTʵ2NNI)É·]“»ÐMØϯ;hç³MrÀrM¼—ªîñrø²™ªû.D±'s2fu{@ا]8å"MEH*fDŒ /ÊÕ¥4›s 9¼¢mØ—€Gu(Ãú&Gc@°rEr:¨Ýæßž„š-r¥R/¿ú¾ë¸+Kreáö®b[ÊA]Ö¬Ö‡Ùx$n¤¨ÓŽÈôv»Øgx÷…04ºK… 4ñrŽMã½ø¤Y,4¤º'ÃD5ØŠ“3‘¢mM¢–­í G9¦”Cé#'Qvi0Làü¿Ìihž£(;¬GÎ3^Á#ˆ9Ö9’Bïñ‰¹<žª*xÑVO,‡/Ûs¹KWB·‚hk äÜ7\^¹vØM,Œ€õ”8äª4ÔŒf¢ àÜUVó §Yv>x`v`Ê,åW»Ì6Ž5€ ø©i†9Öí$ R{ÒH´ARBFÐÈØt~¹šm0î(3º¦¬šAÒ
-+Š))¢CQæ®°"Žå­OiY#êD%1ör‚kQl;Øk×ðÙÔÅšÂtä­òðL_WÔÑ£p§g;fëðDáláШà’I"bHI”Ç•T<‰woÎÒ
-ÓÃu§
-YÝ©OY³ÎÙeN\wºáÓ†Ò3‡öâÖ––ýåAÿ è%váºÍ¢q°"xØ|&rÑ]÷t'pÝæv#À¥H³ÒÙàºDä„ ÔcŒŽu@„ú”­¼6üf%Ãó=m¯íµ¦W)Ï $"1`¶vÔ
-v¡‡»x
-WV~aÏ:¿¹ÇèH/œŠ™4K× ^eiÞòãÕ½Ü]V>¿`ýújø¢Ýˆ8õÛîxÇz¶_—B3Q,ÒJ‚ËnÍOLŽÀi„]ä¨åf 5Û…D¬ÇM¨Šì² 0EtcÐÃrE¾MšP-øK©{_)Nh°"¡Oë\9Í‹ù~Üc©°CjKAÑm¬&VFÍØH¦qËShBô¥3™ñ3†Ø†8Ü»RÇ:ŽpŽºÚÒž·6ˉ|Aú“ËaËv#ÞÕÓ…Â#uÔ†0<ŒªrAݦöjˆ$=ú¸ßÑš‡j3z=!—9 nS¾a}%ÚÝ>…qι.ÝÌÊ^ÂŒ¼¿X/"êlxÞDÁq«§7'ðA¯³›QF7),o}Øx3Õ´&ÜѯàlåƅkÓwõ@ÃÏiv™wÑ(ç9œÙ
-Ê÷¢µœ)Þ_YÞËý%'Ö ÜŸ\[¶ñ¶žükÆ|îhPsè ÷Þ4:KVôjp6(šmb<1îe; AfY1
-¨ÚeŒ µpãªøã5í/všñ¤y`nîµvƒ{×Û*wÏî°Ëœ„m`ÏZµÒÎyM_ÝËíe;Ò ÚŸ\[¶[°¾ž®Ê®V‡úd^!z¦Y²ÑMÔ= 7õÞ;e·˜ <;õaæ9`Ũ“Þd†öD» Xº½ˆ¬LEvbb.üERjëC|O %¨*<uÏÌ ¬Yϸ¶µÄ2Dö&òÐöïc&{  ž04Pg¼XŸÃ-r{Ó]JÙÐÞUvÊã$ˆ;¡¶Ò•¾Ü^ñ;½ ý©å°eû³9cO®ÁÁZÇXSˆBiæ‡ÚøNÎfà “O§DÎA`âMniû0£c¨à.×hÎAL3cM+Ïj™å2i¾dŠ` C°)ÉV÷–L€|s8Ažñ˜¼‹Š¦U€<%a N“dÒä`HEÍp–¯ª<Äd&³Ÿ½Û)¦)jP¬©‡± ηÃ,dÉu„+”€ÁÖõ¼Ÿh•›/ÊüËÁE»Íìé²Ó:b r°ÎhÏšÅ3b˜mïw¯©à[$«Çp”Gt³ã¶IëcÃy
-Àõ*õ>Õït‘ˆ”b™´hÎçÑ|2$Î[±â úÂùÌE8æ¹F‹ –®ÂŒ2 ²f⟠ÎÑóIW•AtàœHÁ} "Kœsüu¹q¿1­Q¾­<:÷6ùKàÑâ^îmª¡¾@ýéå°e» Eíé¥A¢#«£}[Nq´ìpä ¢Vê*V}*x˜_ž‚#¥==Pædº9jÄ:Çj²xì‰
-êRº•±˜ÐQŸ›ŠÐ_JS¹ µ¼ïþ~e¨ÊHW FEétMé‘BµÓ1²ZÆZ­–(þ¨Ö lÊ,kP”Ýø˜‰n/ ðÚé~¢1fE1œ„®U.g«Å÷rsÉ›û‚õ'—Öí6ü¶§ëö±×ÊQSóÇš»Ÿ% ž7‘’ª±·¹¹^/³I¹™WŒW pc™…Lm‡›A¶(b p5ån#š‰uáÚ6Äz¥ÝÖÜd£“ó‘ѺŽ
-=Ö8ç¤AÓ51Šñœ ‰aˆõV
-f\-ÑÚñ"Ôaõæ%b Ø6õî ëEX倱ŽÜÜúb¼s9lÙnC{ú)–‰8ÖQ*¥0ZYÕIÈfᯰ>hÙ6׫žÊý›rGUøӋ߃É¡Y~…Ñc\æJ
-ƒòL` ,ßAY!/ƪ´ÌÎT
-L“¹ÜQöèã
-GXœ]Šq„¥™«À-Õ²j‘Cª‚qÉ¡K1NöM!ĘŠ­Ã¦y‡ª(‡˜Øh§j€I8ô &úªýžÊèDØ°Ô•¨ý(Ím Õ^²yšØlTz1NIA Ê*8ì˜  †…§¬tŽ#!xzüÙX±Õ³‚ k'à%N‡ø±A±ÇË—4!sòÝóum¼¡ØÚ4Ø,‚VbÓòáÃúðx`òŠªh_U•ßÑn¤jb3ŒÈÚc¶z¸Ô—M:jcMƃ(€ÞŒ‹àdA?ßÚÝò2£É»ø²d4F@ÙµxC"EÓ±8èÞ•¢q6€|Ž{©Z‘SÁl „Û’Œ`¾²,åYâY€òW&
-/ÁtþñgôÂ&b"ìÊ¡€g‹H A#2êîÑÄ”«r$»nO,¢‰s1£®ˆ±¶n/–䉻ƺ³Î40)´¸9Þ™QlÀ¢Ú0,áÿÇöD#‡¤áÈÚ"˜S¥?S.OÇ\¥QÛ{¤™FŸÖãµ³FÂ÷xyoD¾ËŠó!1Ë!IݘçGлR³'ß2?“lˆ‹zxPƒX²Ñ¹òŒqrÉæ ˜ß,NÇJú‚o2BÙ£§q`:ù®`(ÊŒamº]±Xßÿ¦õIžaSá
-”°(%»$DãµPÑH–…/BICMïæ4§E>˜f²tþ0Q[^E§Æ
-jV¶S@ó1j4ÍìÚ)ððU³ìœŽÇ»²ç¥FÇ
-‹Yâ(r·«ukj?íÕHÎEÑPT}@ýl`y±ªq3ÁFtóí\kq®oŒ‡‚Õ1ΙŽ¦?dî²6KñVþœ»¬Ö3¼DQKÇÀ@èŽÇ¬‚±/ÓÝYŸâ 2~WŽúgaP4’•ÌDÖa>^“ÛðqSßÁ¹£!†œ÷gwöÞ²‹k-fWdœV•õ„v±ÖŒã|c¼ç¸ÖhZé§Ä
-¸àÙØ›éb‚4ÿ]æ黈ôøÊ’0´“-o «Ìzü•i¼Ïû]ðß×m® œžåJÿ¼ÇSüÏL(ãÐü8øŸK Ãý¯.ÙŸrw Îï Íï Ìï Ëï ʯÞÍ MfèëTØ´+sc›¦ß.Dme›æ^2*¡”lL{Çg¨]dñËÞ?‡GU|EjnΣlËÍ(.„‰;¦E‚ÔňԋSXNÚD«¦1‹õ¹õ~±ÇO
-Nm².3 Í'agî¤~¦UŽ;9û 1RgÂÙ¼Ð苶²Umÿ ' Fò?ô6ëIÔö’Ž%„×ÅiÝŠk!r‹Ôu˜§_t‘Å= ]ŸÛoþ@qùxþw2ã ¢àg+
-…è îÙ²Fk'[4
-ˆ-0ñ¤Éà *yÙ
-…Y-2°9–´b
-,pL©‰<àð“—· hÝeeñ$&Ù¯EZò‹ŸLu¼5\,ãýŸòiÒß+‹a¢•4?H2?ô¯2êÁtè"Eƒ¸:9jZØAäwÿêî(,6¤m]+ÅË›—à•™¿¹?ÓmeÖe–äðk.ÛoÊ/´nüâá^½sl™þåîêš_Ù˜tåž®ló0œ!óêî:°®Âïñª_‡ó%æ/1sAîûÝ8Æ^€õ¬§€õó#@¦’!™ȦFfI49åi.š¨aoÕ¾ôiÊU×+im€öôgýt'¸zsF*ç—Ÿ$ˆ8?Á›çnÓ›çnÓ›çoÓ›gnÓÅÚ<^‰ËÕ:¯)3§ª•½eœJÑ´k±ì”¢”V¬}¿^²˜Ã,Á$¹Y™êŒ%ú‡êŠÒkˆàPdûSõ¸ÃrÔHü Ηµþµ)®nÝ7õÅj4AÄH`ñ)QϪ·æ3×ÑhN'0/&Ãå iÇJ>€¾ˆ¢‘ŒÃ‚KH‘ÿêå±øô¬6.ÖÜtËŸž«8ß<Oq¾yžâ|ó,Åùæ+àëô|f¹ýBI_×Cœœ¦åñ©_F—2iÖE7ûwH´H©!,M˜&yœ¾Zf5üv»{Oä1êN@qV;!¹q>  ÛzdÕâ1m¾I$%<ßÊ7BÍpäawŠkHbÕ~”ÞfR*š½-7Øi[É£µ)»¬OEk
-‰‡ND© ÖBÊÃÑY£”xuö°Éörà粺zigG¿ZkVzéHÀž9Zˆ$gnq]…´Cc‰ll…λ`;ÆfK¢CaH.tñfŽN¨Ù
-•;_^üQ3C•¡H¦çX,¯tfÁ›ÏÒ¥6dt]f×…\–g@<yß±ž`
->… ѹ b<†Ø­ØÞöâð„e«31Kr¼3yZqÅK2sª­
-‚‡5
-RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æ䨢pt/*®INGP”JÒÕ6Ãc}5ç:Í@)f¿–ªc$NÑG‹aÈwÍi„_Ž|·³Ü8k‡"6L!hX5e!ßR„C3K¬—Œ}9LÌkˆ9¤[6¨¦fMmÛeW´Uög§Ñ©ÉšáXÔg¢\LÔ×Q`Ó…¢îÁífo8Ž^ÆWƒ‘­"¹ù«§&g?»ÍLέ¸hy×y5¯ÚÃfžd1=p^µ[±EÝÕ#âðÖŸ‚Y»uƵ‚f|¯ÈüÑüF§Ñ1>ÅÐz€øÄðt{aG¯N ÅÌè<öH([xùP]”¢ãX²/°Û‹.L«nÙš}3—õ9Mp^Š?ƒOtÛ-nÓèŸ9ê‹…ëªðÈÙ+ÆW€9Zëev+úÞï9ywãi: ö~žûÌb,­º¦Bmº‘‘­I§xÊÄt#c‘7–fu[´5Í©˜ê`Á}ôÏyýfV3=üªÙDûj³N’fÒ+T¤ßi€úç¬8²d/Ì=,î­HÀ¬ãGVc(‹§BJ‘
-Äø…
+Ù»þMˆØ»Ï>1ѧjJô¾‚æ^žWÏ«ßÉaòúë-5þ­ø¼¶”&!E7}»>o5Ò:õ5ìëÈ¿Ô—,õ‘¶LLLŒ}BbmÕÛøk(ôS¡/TÍMÛ¶Zx£ôo×
+»Ô÷AɼMr_çvòâþ=õòÙ뾑cqµñþõSqþèÿ½lcZ-Úå-'ú`îùDÍ<ígÚ¡oÿ¾½OZ¾Œ}šŸ—Ì;ªÀÙ¥>ç]hC6&UÿÜ……˜sÑ¥ªýuÇK&?Ñú‡J1I—-;þz½aè[ˆ¡Ÿ‡¬»¼†>J^@ß×L>T‰tbé}deIhÑ?O±ïb~?Çþ[üUÜô<Ò¬dQ«‹4Uמ— ‡„{/ï÷¯¥ïÇÐ?Šc2}žªç©Ny’Õ/Eöiÿf½"“
+µ/¿ß×Ò§Àäú<dùýàe…xQª}ß ašd«ðúKý?Šì Ðû•ú¬ôôõ³ïôÚ7ÈY¡_Æ°Õ{Û©HÛÔÙ‹üX’µ)¤’ôPTc4?çôÕ¨#hÔŒ^åý>™I~©¯¯Í–[ /Á”„Õôãäs÷_­¡êYï[R7F™¼Î [èÃ4a•¹3"ú¾B‘GÕ÷p›˜'b¿xöûÎê?ûšþq'¥÷/tºˆÅMÉÒýH÷­ì>U—‰Ý÷ÅêÇçä_ô·¤ó2MA"1ç7ú ÏËy M ›¤ŒUëçÒŪ‡¤óü¬<"Zaî¢v6SäÛõsTo©Ú:oKʦ0U='à}f§ÒEì—¹ï¤V*wQú%1q´}p*ºzZÒó“ûò¢‹Ü7« ܺ7ñI®Ÿ>»R‚œ lfú1HÑ5ë¢óÉåAÿÂY>k?9{ùT5¶¨›­9§ ó¥ŒèËÑrÉŨ'¶ó„~ó6Ž¤¦N²b“·ÐÙ
+̈eçšt»»É79D̆弴–ô`”>Bë"÷ Iþ†Óå¯M¿r*Îa¥kÄ©ÚÇèCoÅGy@ GÏG®Ìa¹_ï•™¤<ÙAJÓl%C±u@ë¾ë›°bÁzÇõ~‹×}RKµµHõ¹Ë <I~î[-7e´ñFa©]–¨³½ý¢wñUÿçïýŸéäW¿>ùÇÿ 1êû¹,µ…tßáÙûèì}pö>6{š}Ì^fïã²÷aÙû¨ì}Pö>&2u‚U‰-ï½h“U@Ô³ÑÅœ>r¥Ò½ûRÉ9åAcäÕ>H"ÔƒçäJÌ"“¿9F•+»¸¬—89í¥ŸN£úìôž|Ö«¶æI;ˆAÞú½°Q¤~ÀTŠìÂFáåP•TMA;qAöné{¶Lºò.{„©m“Qôªˆ‚ôcÑc)H”»w:´¾)ŠJhýTuI†ÖÉ]
+JöXæõÖºÎ] ñ¾é.ä&o@2–.¿’ÌþÒ´VŠ:¹Ÿé]#ݳUA«‰¡z!F:€/T ÅW!³4Íý’ޖݤ;\^×úZb’˜l€^Qä‹ÜYwÚ‰%:]£»jðRÉ}4^ÛÖX´ƒÉ5ý ʸ;×s¥éÖŒ¹ÿõBå·~ÚZSazÔ§jP½Ë† Ï"<^/1¨Ò<y¿Òô´O×U<Õ”û'ÀÎix¿s…\ðå£èu˜BÀ–VE™ZvÞ¯D—£j[N´f&çxCvŵ¨[7¸âU(MU{e¡ÒɪA;è=Úö^uëöëm‚T['í o}]Á\{[ÑÍâóI8<)<Þ©¾ú¿õ˜4%nŠE—€N~¬~Y4¹c:±ËÄGôýTµa%-ï_u)ã:,‹•õÞêD‚ö§ «Lú>«Y/U-¿¼ô›Ùž ÄÎu0ÙœjBe2=8êÞ;°¦]õ…¶=^ ´è±¬­¯vÑŸòN.¿¾ÖY.¿¾ÖX«~cT¶³2©.,|ÐgÑ«Ÿ¾kÅÎr©â»Æ~ÔµSº%±1œ w@;^Š>¶2©^MwKHtas—BÖ…ímïsbé
+ÉüQ*#HtëƒáO^tÙä¡4ÑE(Èj
+b°yñ>~(d¶09çõNå:bN)XmDª"YÍÎ\$ÁMV±‹ “KÆ7«>ú‘P­1Ø·it$²
+P¾TSWF¥Û.Wta*ŠÑ¢*Ã}°7[µBQi%zˆ0‘äB須ŃÉʼní‚D#µ‘QnJJœ¦¢æ¤0e]pÒloÙ>îœô§ú¦*~i}vÁLŵPc²×¯*ïò‰¼Ö…Á(B†‹^MS‹ï[Ê9±01&Š¨zw'B‚
+®_Qòbµ™1’ŠtÅ¿T²«A‡`Ô.qö¯¨ö3çD
+ëMû¶Ó)ô“@,^>?Ùt]ß=³°k®ØuACÌ‚B,Aºð¦6tá ãêr0®¢¶¬¶:lðNìŸB‰mRA4Ø2ö– œ#°]OÅk–@dÉ»°ÈG¬o3ÚòÁú)T:m¸X¼š”œhdbý4ô“ÓÀRŠìÏ)•( !5«’†˜Kµ'éÌÈ„™!øÞU”³OvÕ4©«69x]T`NÈÚHȺ¿‰šrjìb´Š
+D®pÐ^*Ù{Q
+«Yç
+)Ó"±Tž–¦ÊÞêïñ…ªà.ye©}õ¡ dú ^v"kBì"‹vá¢N¢³¤¡Ua#«ÞÇÅPˆU5•E )Ú6ãbèk•Ø5h
+;¤†úfnmþ¾ìCR#…Çõßj•Ío¤ø b˜‚Ú$]Êa* ØIÈ]Qu©O¬a’«‰ïf"ÒOÀ‰c ±k“ûŽÐnIG‚È€[¡/b›‚U¡/“¼ÒØ:/ãÄúåIqs¸îœÈž¾ Ÿ—­á'‘ úæ¯Pc‰œ˜svr¿Ë<¶§ˆ<t5GlÙ\Øz×i¬uà̸‰­ª¾È†”ãˆá;3Udzbá4x_dU¶¨Ã¤Ö—³ðNôapï® øI‰Õ‰rWh÷zíw\îÌ¢“HðDœxw±ÿ:ŽÊ-mf*0î°NÌrš=Ë«P°Ðúñk5Úû]€Wïçd
+ú}4/Ê1Ó‚7=:O,Ýt2³!v}K‰]Gí¼‘ nÖæ  wn6ñ@drò¿T²â½ã•‘ÅÕIdµ±4%†(¡£‡©%myH“jæðjY8eµ·Éî&1UŸ²ÚÛ÷¯Ê¨¤‰”Ë–µÙ— û€•á¬äiªÞÈ]óÐ_#˹PÉÂÎ n,wEלÕÐÑÇ[Š:è›9ûfàSìHßÂÚöº¾ÄÐ[V"é—è ‹E*ÁG5½w%»xq˜““AÄ“NŒŽÛØ¥ƒ&jŠ’E('-½É§ìû¾x¨î½%¶-E˜@Kg[$ðªm»€%“'†%²ëMõRÜåý¾¯sÚÎQºT#ÚJßö“žllªeé3„ÙFä(–{²qFÝ_ì±.0C·œ¡×¢×8®6§UØLÄ#¶ëp[€!ôŸèÌKUA7U¨Î¬ÊeÓ—A; ·JÀELžчû2Ê$Â+é­“W ÇZÈJtª’3·trß·EÈ•Ô—J®­©öÜ{€¿æ)‚hŽÿ
+ôÿÆÈfA§^<^ªµƒ ™Tm›y3‘ç
+ýf±4± „Åc¨¹ld2mñ—JÕ‹Œ .m‚w V˜,Î3!vÑ A}‡fŠj…ÉY5í"û]ÛªNÞ[J¨¡½÷»ÜÉ*ö Âé5AÌ‹ªyèKbhèL`‚ìÇKÀwÃK%×uqÙX Û™õp195óï9Q Hv²š¬V®¦™HõRÉ1W„†`3‰@ã=Xz©gªsA•Ÿ\kˆìrÍk‡˜Þç²P—Ⱥ!þ Ȇ˜œŠ¹Øt)dU>’éáD„}ýÿkÆ•°²8ó€-…—÷·&ÌߟÁMýÓýê‹W7ß\œ|q{÷çë¿œÝ}wòåí»·ßüíææê×ìÏîðyö™K.ºà|gÝ®¹ø{·ú^žt¾Þ9Mù]gSy\ømp9=û¬t1¾üιgŸ}ý›þS+Ñ´Ÿ}=#y0_ó.^}Mã¡ÐÈϾþ¼ÿ3<ûØ_=+æˆß-lQ/ðØÔBBÅ¥ªµ³ßÌ2ù‰YrÑŒ\lGæ÷ nãCW;|»ÄdM¤—p4£Ÿ²ÉѬ2cs"ožë‰ì—%ßÝ}û:ôðuy0+QíšÑÂÔ:‘],fdA™É¾‰Ö@çQäó>€LbçîÄ,6ItÀÁQLžÝZ±°Ú⊹֣…ä91„ËûæwÅ"
+¸µ+F@§®ñåDDºµáÅîŒÛVñ*h[‰-èÄ)Y@eI²,$ŒÅ1
+i€ÖØ6‹*G¦ÒwÐ@ öé½öú4áãÍ+ˆ‰G Í<ù:
+¬8™ÕlìþÆç
+#GŒøv;±†¤L]6Ò‡tF÷#…4¼Tr‹p'Á©Ö‰SˆèW>Z˜9žÌ.NTµ PSØûYCàžHÏ×ÌLHšDÓù±cê
+ÄÄOZÒt
+æ'Æ’*‚ä¦ Ü ¬¶J6‚Š SÕŒoÃû¤hÅRy:úk¸oÈÃ#<¢Á:U)€Ãi¯ÃŠÄä™^ª¸È¶Eé5ƒ%:oê<(iJ 7,+§qY8—Õ?ìʼÛÑZý’ìá( ]¨3¦sÔi±ù^‡)¥¸ºˆïëTyr›û]hWf¬8e'–¢6†®£T- ¹X­ƒÈXƒšðÃ6.%6óy„¦Ùb"ùU¢KXm$+aÏ:Ô<€Çʲs+ÛTìóÍaFŽû}ŒX›¦^MÖ”˜àô9ï‹ïgd]Ü
+
+ ´nÛÑí4³DX:`+æ¯ó*iÐo™ÿÀ›†¾ï-ñ°¯®õSf§“¬§Øçmli ·7;FklÛfJøð ÂjÄä†Á°ŸuýµE“#]?Ø j‚ò"v(×xñ¾¯d‰K¢½¤©¦t,v>ç(±‚1pK³ x§mÉÄ<ÔzlQJ|‡^ì·¤\;qª‹%w‘99—Dþ }»2œ v*"'1ÿ›í<%Df’lè'ð‹ÉÄÀ.¹ ‹jýöû„Ñmlø:¼2è¥4W©›Ç¾-j]i£ŽÖ‘|È
+û Zž…i£†ÏÌÆî}±!@>eS§^<ƒ’p±wä¤1'Yª`±_«ª=[ÌM{
+cVS€šL^i³®'›óƒœMúñˆÅŸ™Ò“«µ’5eÈl˜…ºÔ²¡šŒÏ1á°zm;
+^0
+33#›ˆÛ<½Ÿh”#)Âa)Ð ÙÜŸëÒ*JŸø4dQ®°£­3¢Q4d›‰ÉBTTàãmnÛÆÊ1i2aãäNÔ¹ifC¦ðe¬LM¶ùgd?óp• m&:ijMÂOR>§€î¾rØýÌÞW23k’;K¨V*Fƒ£‰/j`SšÕv ŠÕ¸i\Õ£MÂíK1œQgªéK¥@ÉO% /¦ɳþPÆxsÁ
+2 íL3Ñ9VÈþ)ÑÆfÚƒ#TsNX©°^cȦØTŒ‘UIjë×cCs´€³ÍvnÁ½ãJ
+L—hêl½LVHèwÅH5tçMœã²<º,¢ž·…™ŠÅkÝ’i&݈ۘs?l>†ä·bWñÓ ëÓ#{#·Ÿ°U™_![,!]ŽæWX•_Þßú—çØÇÒM‡7ûOVÞ(9£¶Æ‰ü73à&ay ü‹›E±A5©Ä¦1Ñ.„"9÷Bl-*žÎµ–ªš„R*Ç¡ª{ú:EÇüøLˆ|7
+rÈÓ?ï»çc¸Xº|Þw%¼,÷¬2|pQøv•F›¬µ´Ýtµ­çÝ×û³¯ß~DïÑq?/×÷ú#øÃHþAuŽ©Áªjáw&[•úÃÈ’ål®w†Ÿf¡µlÚ°ÞU]¥Ð7KÜXýÑšÙJ%|%ªZˆ­µ¿þk/Æ0Ô°S¥¤ £Yàå˯·Æl¨D Ê%t2êÆT–J^Þ×tô#ÂnržF1¢Äx6uÈ6†¨±(3ÓŠ†41!0*[B[¥zª’Ñí, 9ØDÕh˜eãdäf­UÓ^Œx„»ÂäJÊÂe¹ ]Å…1dÊvÄ.c PfâEd‹ â’ÆFÖKÕ,ÇDÔ˜Îj%*øS#`05³ì'E‡ÕúUÛM•øt#[­Þ•m«¥V6F’ mgCÍöËl±V,d‹0Z%—4kíh¦áH¶i¬h(`|5XùÕ6«]ƒŒ¬*˜Jôˆ«N8j%û­öâþm¯ÛТÛ4Äȧ+†Ù¦8Oqš0ŽAìHˆ}[¡°‘Ùâ‚•
+V®¡ÓÁ|qF¼Ž|FõkÁÊf%Œ¢†@TQÙñz ØqD”Ш° "ÍÉÂÍ«Uã^‰šSD¶2!T•—`2>زõ:Ív vZ­àhýÖ8.ÙÉú]W+äá «=¹ÿ°瀞‘š’‹ú_¨%Ž>³*ûdήõù5xÆ:«öÌ£
+£Ì(Ôë=AÑÅΘ ÒÁ>¨ ÒÃ^¸ Ø*{ ƒJ{aƒÊ±Ùô'8è龡0(­a„‚ÏîŽ*‚Í^8¡ÒÅ^H¡ÐvÆ
+E»£…J{á…Âf²†ŠKÌP¦ï‡Š®×pC!7ïŽ*=ì…ŠEÝ=_v ?Tì…
+‘|w Q#k(¢`({àˆÂ’¸’(.°]±Dåý½ÐDQ\h<Qéb/DQ™È=˜¢x°ª(Ìk¸¢°gïŽ,*=܃-Š{ ‹Ž.vÆE{ ŒB'ÛcìŒ2:ÔÈqFÑÅÒ(·Ö¨éÌ»£¢‹5¼Q|¿=GÑÅsÔ軣Žâ\íŒ;*ì…<
+¸;ö(˜×ú¨<Ø ÞªÝHad܃N·=PH¥‹}pHG;#‘Âd»†EŠ îŽF*=ìƒGŠï´")öÛ8O{ ’‚S®á’âÁȤvöÀ&…º¾;:)zØŸZý¥Ðë×0Jñ` ¥ÔìŽS
+iuw¤R™ïÁ*Êù­–x¥Bß ±Zû˜¥èbÔRéb/ÜRØvG.•öÁ.…‘a ½n•=ðKMÅÜÁt¸˜¦¢Ÿï…bŠá­á˜âÁH¦ÒÅ=X¦°Èìf
+µ{‰g
+úˆ¦f/ÚÓšÿ¨¦¶#—¸¦x°²©œ—{°Mñ`‰n
+ú¾)Nާ濹åÔ,qNíÁîH§ÃUvÚéÐHx§ïy~¨Õ €ÍÿkÓÔ¯÷ Jýúã„¥.'¢á¤Ÿ}=JO¡ ÇÐ…_bè‚ïgçúæú¤k' ´_,õ:D0軃Ã.¼;L0.¹=€‚í"Ú*]ì,=ìŒÝ·`0±d0äè=@ƒïßn¸Û tðG ¾ûXC|oHÓná>pá{¤5rÀð{ºš…ÔÜ3l–@ÃÖÝjx<ØlxeDKÀa{°3ä0zØtxŒpxØèKèáû_x¹ÒÙ
+µõ¼;"µu±3&µ &»£RÙfg\êaiÞ™ÚF±Ä¦¶Ktê!¬íŒO=6ÇÎÕ¶9–Õc×ìŒRmçe‰SmvGªÆq^ê¶aW´jã»ãU[ ÄjÐ÷À¬F{ VÛ(–¸Õx°†\=ìŒ]mf¤ÝÑ«ÑÅ~µ=ØÁz˜Ëv°6Ác‰bmòÄÎ8Öèa$k3°.±¬ñ` ÍÚ,ñ¬íÁîˆÖHÖ0­íÁΨÖfb^âZÛó@¶6ÚÛvF·6#ÐßÚèK„k{°Ä¸†
+>zZà•7vFGkØàødkèàö`‰nvG·}²Ä·¾—(áö`‰>¬"…}‰n–háÆ—xá÷<(iåÝ1Ã×íŽþÞƒ¢v‰n–ØávHvFŸß?],ľ;†8ºXC·»ãˆcíÖÄǃ–8ìŽ&>XÒ®xâ¶ûvG‡cWLqÈÝQÅÑÃθâ&P-‘ÅÇØvÄ¢Ú]ÜzÞ_Üú^"ŒÛƒ%Ƹ=X¢ŒÛhvÇ·.–Hãö`‰5>F³Š6>¾Æo|Lx8n`‰Üi–¨ãö`WÜqë`‰<n2ø®Øãc7¯¢¹ìŒ?>ôƒ¹=ÀÁš¦ù%º
+ù˜ÍÎ8ä6¸%ùì¬b‘ÛƒÝÑÈm¯-ñÈǃ"¹íóÝ1É­‹ÝQÉM¼Yâ’»"“› ¹;6ùCèä&â.ñÉǃBùLr²¼íiåÁ¥ÜìŽSn²Ö©Ü,±ÊÇ ´r»½wÇ+"ı܄Žfù /PË!­á–Ú~F°v¹u±D/7Io‰_nvG07IoanôQ̇p¹À1·K$s›ÎîXæèb ÍÜìŽgn²üÑÜìŽinß~‰j¾Ü‡ môdsÛÒ;b›3´@7ǃ%¾¹Ñ—çö`‰q>,PÎßcÇX5r¬a ´óŸ° cÎæù‡e§%îùÑ1²î9c?dŒŸúÓ˹-ytÜkþÞbnÿÙÿéÝ׿»~õÕo¾¹¹ÒÿþòâÛËk¥üêË«w'¿¿ºùáâö×ÏÈ\ÏÆúwýdJ¦ü9O±%d4n
+IPŠíMU%Ù‘ƒ }ÿãìy]¶~~væ€[€Ó÷V\ì8¨DF-¢|R6´¼!rljSã@/n¨Ò&alé[ýVøïÔ6kê€þ€Î±è÷>ûæþ•þÕ)á?Lý\þz²/¿üâüüÝ›¿ÞÜQÛÙ û»}•¾´<¤fùR(‚…R¾#¥!Ó2Eï++ä+Äêþä‡>t7E„jU*(Òì]kšÖ:?,Œ›(¬‡v{ôšÐ{JùöZß¹kHlÈ}A+BU%F»ë÷Y@DňXÕîDÏ©ÒM'æ¾âA&m%25zÍ%bA¯TV¢0}…‘i¤3œÓë~Ràr¢:•O ÉÉ“Ñ3úü<ZµS±ŽÐÏsYçS©tJaü6€2cÐÚÍ‘D^­„—¼²–4{†>MZ‚2Rò,HÙINjï5Y5¡4I„bÿý&@šè@êsF7À}Ò¤>­*!¤¦)äÑùçbpÊQñ©¼E„à¨G¯ET‰ÿ8Š–¢P\$€"lV0p•F¤ú%ý
+n"PLX™äð w¨OB¼Qê‡ÝÃI^<{}?¿s'¿ùÏë»~ õ;ääüæÍ÷7ï®_¼ýîìû‹“77¯.f¼îݳ_ýåæêŸg'¿½¹;é’ÆÝÅmg…Äܽ±yúßÿò &1“®Éþ÷É÷Ïô>žØa@à`Œ0¬"fd*gŽ‹A%ÛšOÄ?å”’i…µæ)Ì>}±OYê­óHò*’5‚E…R
+ ý$¼HÎW:ÕYdQ'u·èì69e”s ‚52.VÃgƒýî¬PFF;I#R|_Ü0Úz«¤§MUâØyS92+°yzªƒa5ãbMwE©Ra®©¯ùü£ÍŽ¸­ã •
+Zh®Ã<<†d;{©¶_È\ À<¡ó)㪰<Èm‹Ö}$€4e#•˜£ˆÅ4(RäªwP][Ðl R¤ØŒÇ Ðä²rÐlY.ä” ]MáMZ"Nnz«€·¾ÏŸ½ýHÛ;&HGt5$µX¡ÙeÔAIi\à€Ì
+UɃ‚mi]`‚!8 ®DLdÙ[®¨ Ð7>Éý"U©•É|˜·üþ,w ó'æÏb_ë†;?)[ŽÁ46eÉ
+a«
+c&Éáâf»J™„ÇåhÆš:ä𨜓 ¾èòå(1lD`6ÍlqªÞý²Â 8¬‘;šyU¢$NžØ—í«$¯½Á½¢zNⱄIU9AÍâ¢ä0Ì.Ð&„É$®ø*ajÓ(*š¥:Ùá)|Ö‹$Rº2u†Ft£âqß
+Á²=È/Re–Jn5ÔªòÕDÓ'ȧ$Ú{ö@ðÅQe+h¾a«ªY!g+笾J6£BF'8ÑWtBß¡iùQê!XÁç°‘+ø`µ¤+‚Ÿ–^‰yi1BZe»aHZ7öHU’³[ŽHL
++Ž˜6‚“Ò麙 âš!=Z™soÐìue“¬†JtR‚îäAW‘¯t°‰¬])Ú<ú~èn´\E œÄŽ$þ•ÑÄߌȬ˜€û@C¡'û(£n‰ÏfÍ$ó¨Aû‘ú¹x
+÷š¤˜¿$É™°®”ÉQ€ ˆ¨&¿+ Â{):-x”2q¤8é©‘ÍáIcRÃ}¾„ÉqÀÙ˜G7±½õGcÒànÃ98U4Mb%6ìõ#ÐþclÂÕnE
+4ó~ÚP‘éògÎIßÈOÇ]S†J‚©ª|Nu:üújÖçÒšÿ$(/ÂpMœÙS'>‹ÄØ7!ò¾¢žÑñ AŽý48÷N
+®èE⬬¢!²§UŒRÒrR»ª‚Yw–/n/ÒÚ¸>;˜¤ÞÎYÝÔPç’4võw~©¨õÞ‰Næ>¹Ó‹‚Ú
+!W5»‰¥¦ãWkþ8åhQŒM*7I…2OXE¯ªÆv¢ç6½ê„Í÷]SùºÀò¯÷9<¶ÉÕ@GÂ
+›àØø-¶ñþg?èbµ«žãŒ)=·&®ïçY„)Ò¬Dçôõ%åfBÉ hVؤ‰Ê|b“WêNÆÞÇ5Ð6‘ˆ4¯qãœøl‰±^¨ƒ €‡æúrAq†»L#àÒH¤pÊï-Dƒ6ª„e’'X9ÍÎgE«wpZÓ*Å"ýdê`œ,(0­\±2x7“bÄ JXˆšE¢Ú¸_ KD‚O‡¾Ê6ØùƒzBw´ÆZj[™©‰êª KÉ¡Þλ=ªð ¨vd‘ÔVKW¿È.£›AÇq~~˜´¼À_'&máL¨ÂéMm‰fo$ l1¿¬–
+ñù,—ÜC“Dx{-R)g[£ªIÚQÑ´TËöñˆ„x‹>u†k“ Df¢`d]ÂK´ªª€-Ó³”ØäZDôH¼¯ —±V/‹¶™úoMrüd0®‰ªR(eAy6•wÅêÔ'Ô†O=i–Æ!¿¯*CTú…:Ä\Y$劕!ÍõÜ5¤pøó¼
+̲?úXaàJ”¡#BIxÞ´|"d @eqMé ACAYéU]⾘’˜l×v"‡Ÿ~Dæ18¯PÂoà”$2Mûb´n‰Xu&ÅkI‡:6¸~²ÚRæE{hQ"‚d¡ÐR«t7¡J˜Š­ìÉz9Ò
+I‚$J:ÈÀ.&펾RÁ”`ìL^B)‰H‘},5Ä(¦žÂDþV1óe‰Þ—5P§~}Àú1—,Ù&PŠ”1>ˆèážgkþ}
+ב¢B1#£‹­Y*7±qÇ1|ÿ©Š¼¸¢½ò èðŸ°Óí²
+"BH^,.4
+±S¶ 7QnļÉ1ëR€ †ä½”ßobmå³ÈWÔ©úw%ûËÁ[¾
+·'ûé’ìkŽîm£F,ÒvÇ
+YrÌr^¤´&Ç3³r}Êá«ü¥ØŸU)"ÏÕÄ žÿÒ@” ë婵Ì'Y"”²IXˆV¤•˜d1 ý¨°á›Ì- ìÖ”¨%_ŽHê;]¼,«Ã®
+-çY‚Zä&")‚5°BÜIlÁÄ0[ÑÃ`-réu½¼J¯Ñ.S
+㺋œÔäÇ(¥„E"·."­,Gè°5)c
+l¯ž²˜és¯ÙŽ8!• ?‰ÖÕŠÆ“ñöêÈŽÜÅŸNþ—¼{ý¬ùœrä Ç‹E‰n0Qz&ŸN4^‡=+]žQ<N
+éÒŒj=UÄžD¿ˆI8Å~æ$v†®¶éÓçå˜k‘xÉ5[›(S¤ZŸˆ&"Ù<\Tìv¤‰ÆO%·„O*³OIëÃpÔi ^Õƒ$R‘›D.9\oSÚ(Ecí]Èê&@©$9<©Y—¯ ùy¤f4áux] ¥$E=ÆK™b²`8QyE=²ÙÈŠÎJ¸3 SÕù;ɶgW - w'†¦Z]b7!?;¡ºzS
+u"aµ°S…|¥¦s5ó¨Ó!ÃQŽ—X€Ë$肪
+:D?Y¬éBˆâsÏE¹¡ä
+¯Ñ×:Ä„|ʦq}¢.P%/‰¬ðÅ’ÚSžÚN"î_—¨’( â´È¨¥
+‹fY1"0„’DÌ •©„I#åÙ™%#ÐLl¾|%ŠË÷µJÅl7uœÄ\5*ŸaËe
+Ê Qõ§œ/¼¶í ¶É´´?EõjXI›¤¶ˆ¨;î%ŠìlÒ­:RéKb¨Ó$4ÎC…
+c)ñÉkh¥
+
+d^RC6WsŸªj@êÇb±W/R¢4•Ž·Ô'³oFh(óLMóÓ µ2Ô~
+ PS<íbÕ¶"}äZ»—ò1¬ÖÞ…„ô}‘Y¥˜NHhTv 4.¥©©ì”­C³Dà+-Z…ö›®@VØTf$šNGª‹àtÓ†QO°»X®g±ÿTrbª$Åç“j;MºD!ë¶HºÚ&©®Dm m¥!à–þT_*'rêÏSÙIl0ŸSOš X‹øO¥acïdÕð:y½ÀTOê8„ò€{ˆâ.TW%&!ʵÌEEÕ© Ð!ƒ%©¨_®DAyµÕ€šø i˜FÆÙÈRT¢T¤R>oÖBò³0gÒ€²†¼Q"EÙ™p‘[GðÄ"©Vu ”¬
+ÀHEc«® ÀIÑÞaŠÊEŒúh/Êg!µB=±d?Õ·+œj”‰¦ŸŠ³Ly«’yY.'š’R3±ˆùH6@µ
+4 xº¬€Å¬ÎN«âXT3"”½
+ÈÔ¬HñÄŽD8`‘+Ä1}A…cÀ6º˜G8UKúFκ+ÄHÌÐâŒxÛrµ+ˆ§&˜²ÛŠè õ)vN> ú,Æ‹²S5ì„…g|ªFÐQ¡^ØqÄh$|>‹4…dz®#tÊs”œ^’þµW®À5’$VÁ˜&QvGkÜ
+©p|?ót5H‡¤e®HÙÎ%ÚRäº}äßd»SŽêjIÔ¢*·Ô)‡Ç é4¬É5Ä8¼õdTw9•Ìú*n©j(G¶Ÿ¬¿ßdÕÖ(÷Û· Ë­é*lºPmX9´ªQ¾kšEæÑåBÖ#ÎÁt¢­’Ë)ôªÔm¼Wõ Ø£uVýáöìíÛEeŒwûÕÇØÔuElXlá4ç«ðQ#EÑ‹+‹ˆ-iñ’bOnµ­û&&9¹Õ[ÃA­-B¶­¦Ë×5;8Š€«nR$^C”<GWLÌÐ(PnŠbþ$6Æœ/9¹Dz)Hg¿o&ÊìOlU…}4b(Õle*8‘¹L …u$1ù‚ÓÁÍlÝ÷œ-ñSŠDyßÑr`Û>è’àáÉaìGäZÒG4h©i‡¦VDžÆ&†Î›
+G:pšnËe 4º‡%,Âë(R —bu+Ñ)‚xæ¯ÏZ˜—$±vgR“XÔcùN̤0CV|ñˆ;)ÏÁRãT-ÄRƒ?¼V<åðFW¦Â ãˆXåžÕhMiä°`ñ(ä$à'xñ¸‡^ `‡¼.M#}½hôò~“bÚy’ã$. ?ÉFnˆ®÷!Sbš‰šê#%¨ùÍ‘KT#]¼ýïbËŠXÍ‘EDò©DÁÖ8…”*¸ÉfO^W„Ü» -ÖCµ!÷‹HudáüT7éUÌG'ɺ8rðŠg‚q2Š4Ð!Â…K—p‘& ºw²”bæMîÍFJ­°© Ž“Æ•£–.'[”v¡_¦Œâà4¬ÇxßÚ>‹Ù‚ë°Yu/¨ø”Êv|ZÛ*€EŽ#Y´÷® ò¡O’<ˆiؼ4 /TÙ
+KD-Žé2Âá„‹KW|PåÄ1‹Ì”¯/æB‡B›<…I,Aʤ~òªÙ(<—IäÉF>rýg´Ú8my½É­;é. °T-Ùr‹~ùìõzöö¼øÏ*8Åöᢟ}MGÒ›‚“ãÅfKÎ(*,E¹H†‚g '@ÑúÞ>‰¨(µ¯h²OX#îå¬ ÌVn˜­Qb,Êÿ?{oº$Çqf‰Þà;¤Ùµ#mº@÷ðX¦M?HPìÑ4(âÒ´4mc²B¡HV«XUZžþÆY>Ȫ T ¢Rœ…ôÊôôððå[Îwθ¥GfÂ^Žbm5Õ—©Þd–§OÚL.|¦§¡Qt"€T_@µ²…´’4ŽT¢0*о"»è[Ñ?“wºH2fCˆ¦Yu1~2Î0‡Ÿ8Ó‰fó“²61bxâ××^š‰1!r&åêÎ $c„]*7 æ*b`¦êCt^ù$Q­J7÷$áÅøC«S¤ÕÖ2ÑL“†äqêö_èr–™ˆ²+AµAÌt¡¶üÙ&/#`Ó{%î8îù©®5
+Š3ʬÌ÷‘PX¢ ì]"T†ø‹Ç®Ùƨ „>GA³h΢oƒG®7–˜Ð•ªà¬q3µ×Ì£A¦3PóÝZ=Gñ…ÉàM—×AtS4ªÆŒé½Œª¨®Ÿ£¶bÖZ3ê
+ø®®"4kÅG1éJg!:öŽ|Ë^ó4®¹ÒþO¢®ªhè÷‘P$[“âdeˆx*9¬¡3Áê§ãž‚0b×)ï§ihÌ!%Ô߀Ië2
+mvq™£„bY| E7³#1"[báIÜDLipÜzî€0£n6ŽîÁxh¨ñ'­&£ôËõ`Bð¨Aäå=tY«d"ØÍUÉûD@W5àæûÄú}Î0€.Ü,“›¼?CŠ[ý‘ɦÐØ‹xZü6"×ÄŽbCĶe…âAFߪÝúÙXÀΰ 5.wC\
+hTy
+yì´ÝP³}‰Ønøl
+35ÂÔØϱ[™Œ:ÝzØñ£ÇjšiÖ¹êD)dýP[0•ŸCuTŠÂUÂuLÛ«òJø7‚ ô„Ën’²&› ‰D£e3Qï¡ 3 æ8óÔ QaÚÒ¯’µ× ƒ GWdÍ0Õì¸TbO=9&aì“ôMaiù0îAÕ3i@ÚÈǶ!#Ó<GP²AÑH2Ù…¦KflS9V Ãä{ŠVääOÓNf"¤Ô £(š—#8š'J¹Ye’hË |<#ãH2§Npz` 4ºI‹\6«¹O‡,³MÙP?qs×ËÊ–†¬ÛÄ …Â_áјU[z»ªwu¢¨Šã\³=3ï$²' 69ç)®˜î,±Y)oNd¯ѵyd‡åï"SõŽÇâ÷`cîÜè¨ ßC'sÏê1ayYhçÌKÐÉ¡QÊÍØç$ôls0 nž¥mœ7Z妣q²ÍÂÓcì|&”Ñbš4d —€ésó+É$ ïÇa¾Ç΃Ͼs
+à”[EI i .0~vdœkž  ÁžDa@ê–•ã±›gÙ¨…8ÿ¬N]¿‡OJ×–ÀÛý!‰9îÁ°©t FWŽãì#JƒžbÛ¡e–À’6n\9Uæ Ý’7=~A*g³¦´Ã/Wï¥N‚ž<æ$~ æ¹5š¬Y0¬`³ü¾Õ]cbÆX²f&a£q=´$Ì
+äú.Z:·ÄÁ‡F0$ó±·,£Ù'AÀÕX}¢'Uð¡r¶‰Ì
+ûòX¶\M’ñçº;Ñ<Mu½c{v‹æöký¦ä«—LÊ2@Æ‘)ÈTÝ0søÛd-”]jjßØ©zT”&IrÑ8ŽEj™÷0¬–ÛºF$‡°¼cßYÉ‚:oÐë;°Mf‹ïF yøæ$í5Ön²NÁèÕ6½¦ø¬.s4º¢Ÿ\6dôÚ®PV˜$1·mD_¯Ò©†qIÛU›oŒï7ÚvÔ¢«¬óÂ’$Y×rüh’GzbžœûÎœaýƶèS”AÑð#Moï0ï­~ðJèëðd݃R±ÅÚ®ëŠHŠÚféP<‰fÞïhf¹ykVi –zŠ•X[Å=‰(§p1l”ÛbòÌ@¢0xA׫ÍÚO ?ÚPƒ›&û–\‰Aô!±I«-lKÔÿ¦lnBõ‰_P²Ÿ»ÚUê"äDÞàܨVâzÅB{³ í¾Ø©¨l¡?6‡8ÊÎÒÔ™k…Ôkê oI ®N~tˆÊ„³Eô‡ª³n
+fÆÜ<è\°½8Kw=‘¡·IçR(†¢¦ØH¹¶àE‘ æ<D¸¦ÅÆ›z(huĈùwV¹-ˆŽL‹Lqf‘MFú€-T3÷Ž|ç¾´@  Œ¾¨Ž¤™!ÈÉtÿ#|Ó1´‰_ce``L=::Víª3(£|OŠŠ?~rª-6U}2ªƒà÷7¯£`Œ%~nålº–£Y¯x:V-·Á©Laí¶¥0í}}œAe”®¯¶?% Ñ(n’VÀ1j¹Ô«›mñ¢>¬Dm¶g‰Z2Õä€xnê‚ó„—™Žk
+àÑ%K‰vT)u…}Šã•ãìXåhîœ ³™ƒ¦Gk̤výV «ƒë.Ü`„«¨/sÔ&"ʪ`0óA— Í®+Þ<fõCžmÙ›¶_¢¡ö[ S“1ˆ HLR ‡*8¤ûä]Rò(ÇYõX|‹c\8HŽZˆ{X.
+>—Epa²4ùc@É¢ì$ß©Q9m>~r¦ÑB„ÛKû×Z¢—’îIž*®
+SÞ0ìˆdçb3ÎQBú×Íâ¢C~ºY/hž³ÓÖcl¶Ò¼C+
+ñÕ<‹@Å‚.v†¹­sd†}Ãmi°áàŸºHÄ6Æ|4w5Æ/T¹ó^>à“•OÝ4DÏ\G¯£:ÉK`³–Î b—
+ŠðadiÆÕ«D©gÖ¯­`}ÑdošJ\œ™7 ¿]ã6„¥`êÇŽñöª=mW­£_¨@À 0‹Òìþš,®R_×ÉYrs,¨VA^B§wÍ°²Äz0·3y—òë‚ë„@ƒ)»,ÔF£; Ú¦{1BÌÄÄÕ¸¸/NCöm›ÐÆ™üY¼ÿ˜­iŠx•F|w-oÍ$¹h¦9›ÁËñ$šÅ¶1ƒ·umÌ ìIW³‚4ZÁ-ÍRÄãD¢ ï‰ç¬6—¯ïœÈéaS»åwÐlõ9˜ä¦ší„¹RZLrÐ6­EÚTsLÈ Ô±Òhƒj‰(ŠP27Š> ³a®x ›.˜ïjº¤¸}SŽMƽ8¢Æû#ÂcÝWóÈÒ"%/h;ÇúXåHSˆV,iæG’¢Ô¨òÉ&Eêo04¡]&hr1”‚¥öñzâØ4ËM4÷òF—f–\ªyVDÕXÊÞ¢âÐÖ#íÿ:)Óã%mO…€2˱<>"ãI.9Ðu
+éÒ¬‚ÈÉ2v0{ÎÁí`r‹5ä†áÈdï©¿bs§}9´ÍZYâì`‡åê2|ÉÚú~‘`•ýg“õ¢0]¨‹>Ög?‰Ü…×?Õ~ùýÞlŒ|‘e0¿x‰ EÂBCc`°zÝ®ê  øËÇ9>ká\2!CÜGµ3²JaØUëxI–!¶`tuCá;„¡^É.èïÎ>6("×èØ{f®ªEáØŒ©a Š÷\/м»IÚU+ÅÜfÕ;×ÔÞ••@—-Æ3ಖSÄX§&ý^Î¥a ´Ö‚±­t”#;©
+.¸>'¯&þ2ÇÊ‚!:¸foPrS îðˆ0šç
+ú~ŒªÓÒìÚ)5 ƒÄŽ£ýÄŠ 6š/=°0Á©õU:Ó阫´šZ†Õì1F©â5,öG$5s¼š$&í¾Û¬Â‘åT£V·-i|–7Ê)åR_ZyjeÇ;@®XVwo¯#VyÙhEü,=LP)ö1‚Òv"\§Y²@±Y.¬³ß¨Ð›Í Æ)èjˆYㅈϢ³°Ï߇™’SãÍçêk•Íò`„½&CZ«Âûˆ,FÂQC@)X…rõß´!DVœB´w‰+Šâ*\Ý|ã"ï°.*nÆ)iàJ
+–‹.?’ª+ž@ŒŠñ1±xÄ( ÿ>GBÉ<FàpA9æeVNŽlE^08¬ã™´*žõ¹—À)mnÃ9ÐXk5(whšæ0Œß­ää¶îBÈKï0´ßÿ¥Ñ«èCÙÑ5%‡Ð¸JØj2ዽf9çúþH8ï%BÁÒJ‘Õà6ý fU
+p
+MM½éMz¦-¡Ð²Àö*XŽ,
+2÷ظl¾¦2 =ãØxH)æE7„·’HldJ§¥HX!QÏ~AZ‹‚^€'çÈ/Éi¨wdß ¸
+u;XÚˆAïÉ ©vRÃ[Ÿ†ÙæôIa¸ˆÒ@1>û£éÇØÊÆÙka€ E$c§k@ØWgÀµ£÷ %QSñÌ¢HEí ÌM"bSœQc ÃѬ4˜T&€#ñ¹ ‘ÝÞ¿&ánv·A9Y3ŽКRE  „ßý2[Íš—,–Õ#)93ã$J]~$ä¥/·H7Á>¹ùfÈæ–ÝœEÍLyp±Iâß&Ï 7E*³,·˜êÀ9šD²
+4š©Ð—»YmÙÒÛAvÆJƒÎÈ d4ªA#“nlôzã'‹?ɤž:è„¿ -¢4¹F„Æœ/ôÁTVŠVä®'£þë}l,ë]².Lç¨h?SúI‹¦£EuUñPÂí¢jû”9öå WC<@¹ˆÇ’'ˆWq‰ Æð¡94Jº
+k Œ8¯Áû+q†¡Y¥ Îë]"64Òj懛K4ÁAb2 •.д@#ºÎ 7ÐràI5nž$8ûmƒ(âHT#|ÜhUÊÍÝ´¶Š¾÷BêO<=£Ð;w‚Í’ÏÐåÚšÍ ´kW»U‹‘ ™¡Å~1íñ6éØ»®Ál—›‚Õd7оƻì7I+V¶æò¤ÄE=4‰Q^šF`åC—Ëž>¡Šˆ¦ê,ÅVJc
+ÎÔZ1Âß¹,º¢4—X¬4Ë\LMš.òrŽ0›!ŠÚ¹ñ\ÎáhZŽh›>ömgRÍóèêÉ$q
+:Šb?‚©Û›"®Ä9× ;ªïg)]èPUí"ã4IyQ`"5&ÇÀ¤6eWÈàÆ™ÐÅŸ:N+K&ÅšÃý ŸVž2Q‚jÍZ¶Kj0µ­øH\¾I<QñýΤ IûõI4ëðBóà­ÎfÖ0±y4x•á*2K‰ÊÒ\Y±ÖN;[£8½Y•8ÑÌ—ƒVœîOÜ:úûLQE£ý-àaà›kƒÕ3yEÊt†]ä ÕÜ4ç‘4“Ëm9ÄB:&yœPékDbSŸœ’…CDpEôuÔ­,àr­«Œu”£&FÁÌdWYW]~YBÇÔrëðÐÇágÍV5M_ ¹·´x"’39‼xÞÆ!\=‡Ð &$a÷k² šƒ ‘‹½Ù6¸KüX<6k9uxRq¯µºµHO·5CäüÓ°öa÷ŘRâB£àà ÎYaƒò•>g»¡nNž1*÷`{G¯qet‚ķ桹‹s¿¶&÷Ì÷Ц‡ë6î"a)Äf<±5À{pjruÔ'Q̹”àÎíÊìO’u±½á¹w(šæ¶Ͳ9‹7K½RÝÁY»pã:AQ ëÒÙóÉŸŠËçS
+ÙŽÐ!¨Ú S3¸”'cPµA„º÷Áè4ãÜ*ŸX¨šG,H„à$¶Ac#{E[“fÐcŒRÜ‘šFö‘+«^vMî¥.Äuz¸º¹g|¢q`„YZ:ý6Ü}⎂e Rd4¥ÝU×ó«¨99ý2ÞG•³eA›T­>”‰
+J#¶ä\-eBÂɪRFAð>ËW¥Q®Ü€Ð¼±0u
+"ÆóûH2¥hx$ÇqêP‹Ëéã'qÝ+#Q»Þâвà°MÄ‘Ž lh~×Ê觰”¥..¶ìäæ`#K‘˜àûê©Mù/û+n¸p‰ê2³)¾_ã*© Dy“mCº|jœÛŽf1t#yØ÷ÞL¬ák&%6„_²Ø à¡ “ëC,¹ašÝÆ$¯f¶ÔˆÍÙTˆCL“«3a+-C,„Ó»­"¡àLNRjpˆ¨/%UªÙê²@á‘kéçÍNu](Ïð¦­ÑÁšTgN[YW&§@¾+‡;•u¡âQ——ê”ÈŒ¡ÔF•‚smëìó’:
+áàJ,Ä,?±s®x®‘m+@f±#½
+çdš]ázýC>/4e—KÙt!¤DHK–G…š)¤ehH(£èkr–ln‹£XÅÏ*ËWÚ˜g:á?“@ãƒ*I…É™ÌÙM% €
+Ræ0÷J¸½#Üi³\ÔS‡ÉîkCh!]f·!MUë~ˆò’›À±A¦©å¨|CJÚ>aMp²k_V©.Ûì]jrÊ’Ñ–CÇ/ÑÚS³ý)}R Î4ç°&muý“1žíE¤£ÊáñU,A<N¬,u##ÒËXÐ.j’:Q­‰ÔwJÎ+Fè  ¾Åñɺ‡zÃQ@5v.qdîˆ
+I†Î€†¤sl¾c¶µ´:Þ
+øÃ’G¯¤ÆgûÔ;TW⬆ÍjBZ_i î™Å82z?ɨ„< œ†[ÌeÕ³öµ÷Òçlø,dU"§)N#xº’
+„š]q‹êa(|icy\RPVåRxЧqíÀK”ïVàë¨Ô&b™9z0Fe‡©´•“ëÙ£d.ço„Ï€.*”£ëmkTÙˆà=ìn˜¹ô{¡°eä ‚K­Dõ_ÍîHø‰ÁÅ}¬WÑz¡¶n>zBV¥¨%UÜÇeØEÚ½DlÍÁ.eg©‘ÙA¥ç)àÚ.Ä×—wàFMíúÑfNÆÌð4è'S(‡£ä·%K~7÷¨*Ô“åæmG
+k+¹‹").)­ƒ^l׺Â:ë¢æ¥êrÐÝç 1¡È}º„‹hž:‘£ËÛh‰„¡ÈªQc–’í–šàüR{J30•Z̬YZç<«ÒÒj”V&“á¯K96™84×RýYép±Wahîà1y£’ù¾ÿo~òâêùéî“ëÛ//Ÿß~»ûôúÕÍ·»_]]D~ÄåUüæéÿ”úei,§XZþ7¥òyÚÿ_§¿¤Å:Y6ñχå`/Kþ³e7ôüÓ
+8E9èûÀ¡t)}dªÃ²HÑBaÐyã™
+’ç9ʯp¢
+kƒžÃÑú¯’ùª%âýN=‘¹.§Pð¢fÜý%É ‰Ž2ø…n;/8n`q6Åw÷Ñ9…EªÂaþ®¹á°ku+ ‹íÁÜØã>_væ‘RXÌ.â9©̃‹’ïÏYg§°Ì{ÅX6Ù(e’ŽÂlÕNqñÇÛG²‹uÁg˱“êa‘´™µ™Ì^,,ŠmoóTd+tÞOð.Ü–ê…ž¸J@SúÞ+’’BäÍ"Ø|±C²2PRå’³•cO²`Iµê§?<cOö<õWNïZ
+¡flÜ 'öXhÆÚhós Y·¼¶ÑgO7VÂŽÁ0GÞ–­qÞ arY©À”!t€מCC÷m • ÇD¬VRÞòžC]2mk  @F 
+ š€BÖb&F>7Fƹðüƒ]÷)Í€¤Ãòμ»y¯vz4Vn° =Àš84ÄC˜øUÅ·.Yðß—‡V™ÁC]|¶úÅšÞ¸m‡jĬ¼°l#Õ+à TéE3h¢< Þ–ˆ{pIàøhxW©u": ®
+"`ÄgD«²D¼ih „™¬0²]à”tíà ïUŒBÎ$F”{ˆÍšâê\³rá;QiB\ªa×®‰¸+˜
+ä'­…(Óh†çO‚Œ
+2㔎±«B‹õ!ÝÍLq/] Nxò
+Å‚Xřݦõô>—Ɔw¡=à‚)„+×ÜNfÒóÇxöë@:¿ F݇Ç"þß‚Êðß
+ñŽE±k„¢3‰¸ñTM]NTUH^`¤'ö H8±üþ¬Ë@âp- ÀiV ø| €É9_lÀqt3S:ÑŸ°C£©«Ž¥`¹ca d ÒA'×ú)ÃæxÛøY“pF>Pò0kR¦!@Øâäìż˜I\„y8½
+-x½W|­ªWçÁu¤!ÆÔgÍ@LŸ¥'Â×âŠx;ã è œØIPyÖ@‰Òä»^ë…'žŽ¨žìõXçv¡±)6ÓžõGzÁBU"'‡˜Ã X²ö±G ÞPöëÑB#ig}¶AõgCKç̵¦°£ à.öé#¡YÀøÕË×Â|Ri¨„ƒŽ–`Q~WP‘’¢°µy^z¬Jœcô""Yš§6ýHvèá¡)h—•·CéÝi—çÖAÑ
+&¬[ç(è¾Hƒ\Pfnš5IZaT)‹é3òxÊ”ÁšÛ[@ïÞgu½F
+TGZsm•¤íÇ«·¤uißÙ(Ð ß7«–ØÁy¡ÑénîÝ:>t󴽡†ž‡nví_„¿
+ "1‰íǬ¼¸4¦¶8{mФì×,é±æ‚ó–¹ïÞ´Æ‘5˜æ½â$ˆt¡".\^3Ðù}ûÖA‰Z
+XÂpDG5ƒx®vÃE õ¾l›#µK%@4Úï~öA'±ö/ÿòrìÁ„ ;O-"½¶íúF¥ÉØÎ(bìµnãþVñãÞgqŠëìßôº6j
+ÇñÖD¸¸×œj‰˜dž°{Ib¡Æ:éDpc$s%´÷ÙѼ{½n9‚x²µÙ´ ›Nû†‡Ü  Pýþ`÷>»>ÖÚ鈩)–ªã”MµE£uPG›Œ²žl´VC¨ôÁZc\7©“}»ùìâr³Žc¯×µQˆï¯­q[¬}6­íï«üðv¬›ÏnŸ5:½ûü1/}\£ÙB11öA‘šÝŽ«‘Údh òA(4q dlßb^DǓΧhÐ2ÍhlæEY<¨\†Ÿje\Òƒª4ºáƒaÌ-ä-[6w+šY‘¡÷oÍB¿3˜šAw©5.íGkuçŸ~rròêâ««["ï6`¹w¿
+0št ›Qã":ù8±éÙ94¬·“[A*2„£¬QÃ_Ú=’773«£?Ö&GrÚäUB™Íaèã·ªÖrm†k«É-»eåFßm¹ xòW|±Þö“n~¤÷ò®²ð…®fv$;5ªÍFs`ÊŽ›tدsE¶Ÿ¾-­æ/¥ÕqGxÏk[Ê@©Wß®„SÂô¨j_ðÃ#gjëÜ,A”E4„¤ óO ²*wùÁ)ø±¶;·Y—å3Æü®›Úì©ôeËèMMV’˜ô9×ÌìÜ«MHºL±qºö‚òßß8ì€>[núéú1]Z9ȃ4¬äF+ñ27Àp ¬íîÍÁ{t.%\Óè­í6MF«ÕÅqœµ·G‰÷ho Ö#/»e¬:S•ïuÐ5ci
+žQet\‰Ô’­7Z6–A‘Y†ðˆ×!8íiÈöyÒÆ?vñ}Û_)Ü4_BwýÇ:•džK;§!žŸzÌqïÑ× [Z´ ^5å»ÑØ"k¤~ãûÛ©Ò¯ü`1“Õ®rÝø¾8x* 8¨h”ma+“«ø `’½}þT1r©1SÞ?Õɧ¾?ïÏ™?LVÚà š—‹{Í,ÛRcí»{·5Žsí7ƒIý\î|Ì_ñÙÖ붑#ˆÖæ)lµµ×ÒÜÒ͚Ǿ?ڽϮÏÕz½7aF¦øÁ T§v"¬Í›MíŠC‚Z1&7Æv¶k¼ýl6¹ø^ŸÛFþ~¤ÐÝœÓöDXn$T÷Gq$p¬ÛO¶gÚöyïù11IîîW°ÊA‹ AÔ HÛfÈh"ÀÎP;#íÈã˜MêîvºUÜp9“‹‘½Ñ®~ÊKpŸy2è\]_{”'~ì~Ç”õ‰ ŽàRš±AA¢E8ˆ ‘§©D¬T¢‰ŒÖÎCd¥rÎbÁV)úâ³LO«×*˦¬AüÔLË
+aš)‚mÈv<ŒK~Ô9$0uj)•©…y<‡G1ß“|cÑ` |ƒ?§ •Dr)ÍÕnYÇ øŠ›{¤”c`—+…õxùÕ0¡W¿2»9»ýäÛi‚ î2^PcƉ ƒC¦ÃHÛ`ŽÛ1R{c´—óÅôÚ‘3ÚJ{”`…%Ñù^
+ߨë"Έy„·Æhƒ5)á®Õ÷kí,tìÆS‚hè$Î)?ºv©É÷íbÇ[`… ùÎÛT‹T'ɼ¶í`.‡Ylû¶KÈtÊm
+Žsâ´•)‡1*F$ŠAÂÂAÑ£Õ
+‹^qà„wh¨šÏU˜Ð©¡"Æ@M2ä/K1vfðâ
+zR9
+î-]*\à>¦)?ª°ðˆX?Ó“aëý¾¬ŠaÖ)2p80€vÄZOp˜C¹–Éw©¬H•‹ÈS¿¡Y:,Xv]³V)²=ª­’κY6Z—ô¶Äó0Æâ:\LLûhdU©tMˈXÌŽî@꤄z§ &,*j‰÷ï"…ÍOM®eH8¹N%í/ÊÅñ Þ©®˜ØÀ•YÔ |G¦>·ªþ&Lv/*%QOîì>ò"£áÃ
+¶%Õ䵃G¢Ÿ“U£‚¡PXr4Á¦
+¥[À»YoC²÷¹¶ýGY2W¸¼¢.!tLS
+Z±õ„VÇ>î³1
+3A–žs0Ê–>j0M¨-¯cÛ´ÈÙúƒ÷&-N£@ÁÎ’2ê7@õ¤’sñÄÅ­>“â•ÚD}Ôü Æ#Q­@ùëV÷éB9¦!œ‰Ð³ì%®óxusTkÒ›@£M™îE
+Iô9JÖIÇ9ëÆ™›;‹8D$
+ÔÛ[Z–[†iž˜ggIÿéŸöq
+‘
+FÑPãdNȪç¢À™œ8“÷")¯
+øq"È-27FVÿŽ©‰ų́·GâD¬À£C:êÌl1Z‹áˆ°^æ5H2R ì;jCKÜÝB&àÞ´’¦óÂ2ÃI½q\½Hôî\rTOå‹caç8£H{
+‚uV›œD‚v^¶,,©ä– ZDð-÷Û¥~‘M¸Ò¬¨#Hê©HZ„k¢gèVòV­ÞøþÁÙz"£ÓGäcq½|ÃÑ€ˆ— ?ƒ“àsNNQ!·
+ž—<ÏvJ"OˆµªìFDT½à»à‡¡‘µY oŠ£YF½7ó(êŽ4‡ÞË>:ßkÚËUÙ1 ¨ H5ÂÑG/+„®‰v@§8RìDØÃf‡^ÄÙ3…ã:87‡P0ú§•ŠB[üÎòi÷dfõVï{!æt`©EbB
+tNgœ„o<| eÐد$QAL%N:"HM”Ç*5Zt°†ß]koÃÁ”¡‚°ïnÄ#åçƒîÏ‚LÈ+Ô6éjmˆð/ƒrƒHI™Gå´jÅ1MÈ£dµ4Ò P– a Ì&]tÐM˜¬‹U‡äfu ®V„2Ö埲 nmâÁdP<ûl‰ãþQ4¼±½«ïDLí›E'ðžAˆ+ƒç«îUÅ›… «Yf̺ð’À±SrÜôaÞ°ãÜ+á)®KF$¨’T`\i…›OÄEŸVó("Rø0¢²AvÇT —Å0˜Ç¯ó)†»µk³™âê¦ìQ¿Fï°øó6k&ð2Ý&ðC²„j±r¢ÃË 6Ø„T¨§¹ÂJ¥Ú’;“h@ÌýºÌ’ àö*`3m¹ù™L‰#ÉgzÍIUl‹¾1J™ƒ ¸HJ0ÍG¯×b(­UÝ'œ¥ÉBa=­%ÓC©¶<sŒ2<ªèLûÁaO6AV¸évC~™Bÿ²úå03¡CÚrê[L~Ž#”ñ{û!lÖYõšGÕ ’ígƒ9ݦN!4Ýq’tÍÑHD˘Ê!ùPßTºnîÍÛ<ê®Ó —%–&GX²öÔò™³s!¦
+ò7¬x:™w° Œgâ¹ k[#c\‰,ÎTÀAwág.fíOMHX(úNÜ1a çc¥óÒ; I뛪 &mt ‹ªºæ§º?eûÁûÍÂqàÀðŠzF'(Ea•1Dï«#­ÝPmSLIùʹZÚmDehýÏ#·¥Ü5¼ðQ·f{bÆ»DÑ5néËR¸S×›r<TÓËÀ…îb° M…}sw¯1ºåYéË (7'‡2Zü
+15z§‰†ðšfj€7¸I¥±)σ,ß¡eEH±'†+›¼ÀÓ [áàë…C_ ÏN­jÖy.Së/;|®Cðµ§ÕåÁpÍZ¿‡R8¤cZȘ̩¢ DE¿†EÒdŽaê‡UmZ/4›š±E§Pž#îz8LÁÎëÉ»jñžSä“&« ð›ÁòÚ¢ïˆâöÑ9 ý­ *´ý¬yc¿°!¿l6>JDîd¯e<l>5ígJ*ŸÖÐHßIsN(Ô9‡üJ‘X-`g.9ÌA„Nx¯×£ê`r›Šfu‘[±w*š‘\èJj+Ç“ÆÁ:¾„¬ô¯êÂ
+Ðrô\šæS'!YGÙØK¬œ<²@ &“õ`‰ç}³K*P-.‘°‚R-û–jÂ!>§>Z¹™Ò˜"<CªR ›’lMZÙÅÒd´—û8ða:v-/e¢%Xžs¸àq½Þð!€¶Aý¤q4‡¥óTl
+-)gj HãhQivÄ×L‹<×Þ##5×t
+Ñ9.¤]š)#â
+vÍÔ]cŒ…³[{¶7Æ0[2ioñlÿ䣧ùµÊüMc¤m#@2íµ?œ‰Ì¥ÑS
+W‚tÀzvr%§±l/ú»èû’‰SŠ1Ç}¿!gC¦‡*Шöwd·ÁÃð}¾ª»‰žúÁk&å‚©ßÜQŒ"ê…ˆÚy;M%b*Q#…Š2a9ÃFÌ"#œ¹·B»øh‹«¾ûÌ ¹%gñÌ*ùïÈökºYr%î<+_°*.‚w(-RÙû,ÆÆ‹½p3ïGfYƒ0)´*¹ÄÜ¢ƒXé€×
+ÅeMQì!T>¥D­ÍØÛ‘0Ì{X;X8C .pdm5|
+ уAÁèýx6SmCäcPFa…&ˆrÝû‚¯óbφL´Êب›Zc`ðh2mJp^º¼ÿø¬5}´±HŠ’t‰u2 ´ôsDj˜ÜÐg‰¨ïåËâÊ‹]³¬–WÚ3…µÙEI“ÂÇ5ì7b©%ê¡*L§×4Þ‹‚0uŒ°Àä³–€¯§ªêæe‚…¾ôHœz.9ÐËC ¹fÊ
+_‰›P¹.BdÅþ†8%ïx|ˆ¥H¶µÅ^dÄ@cHBd(ºb¶5Q£‰o?'Û(|\J¸õ-蜨"ˤñDëÚl&ôy…S?6)ê,l#¤ž€À™¶8ÿ¶`z#Õi³9…A…lå5Òzõ£´Du8×r™D§2D¤‘f׸æÐcØͯ•: Cã`éíºzRj¶•î±Ô½VB¥†PYP²ÅAÚirÖ2,­;ÂÑì'Èn+w/‰›Ùm®ñ¶¾ZVêP£¤E–ÕYõʼ[•ÂQYaQhéÑz™º
+z±á³Q3Û‡þIªá ·âŘòf†QÏ!,x’Âdèý¬ÚEe
+aÂ
+ц’#Á¥@2Œ,™¤™G¼VZ”+ËmºÓ4·î¸±¥GdåEù”ù·åRúj˜V›Dg¡ ñÙ1,vGNœ«ûjÆßÁñ®vx`?"©Ð=*váy Ç@cq°·xßo$&0‹]ä¤húðS-&²ù¾ÓÇ­ä‘Á€*ÅEä­n={hÕ,ó² %¿š©b§-Gz«”&ÚÜõ¯Q€´ÅùV©ŠÆqÔ •äÕD&Ž%½*?0,—¼Ã{Ïc̘ËùÃæŠYŸƒ‹a áÄÐ –’ØL"&˜6”¼o•ãËI -lOar Ý#ý핾¹€¡ßëUÖ‡´:ój1²dÆ=­¦&ÞFÝê#‡Yà:2l
+ƒAÔ\6˜³s÷Œï
+¨Ò‘Ñ0°`w‘¥êk«}i$óx½“ITJðJœ0ð"c‡ÈN.ÄãuË7LöE1á™\ÒÐQìÉÔ‘¤0ˆ±‘¸3ÊV j!ÚÜ ªÃàÏ’²^ÓXIÍ&(e¸¬SS|ᚦÓÔÀ(Øun âWÆ¡úW¹Fröž %9
+1”ï[lrZNÅ—Âf¬Ÿè ¼§!ÄAgUm}¦1â°›Ç*ƒ{¡¤Z„D‰
+3Œíg²ñ„³4ÀQ»;6äI%s
+ë‡Å}ŠëQ´ø(¨TÀËBòΘ‹.Ö/âªUXN …ßàHˆÚ†€¦2•Ýöz¥å+\+Z™#ªÜèi@dí15r äÖa°Ž¬†ÄtÄ'­æ<nI)
+B΂Ԯ ýoP` dŠ³„îŽFF
+û^/48ìÀ!UzjZ22X•Š×zèf.«d ªmÞ™¤>Äù‰>5!ñj:é\¹¨ÀŽQƒà‰ŠL,PüÖzÐ]¥ÄNÊŠo)`"®º5Ÿ Þ3­s«˜\©… Õ=EXÚ@nPµZÚ/nZã<+²@µê¡ØM ìì™3’‡$æ¢ȱâaŒ(8•é7UàFÄ¡´f¬Áéo6'˜µÖÊ÷ËáÑX› }m—/&ÓK-›ø„×I­±üŒ‰^ë¤V´^±}á'è»àÍN³ I)ã)²¶26pÉ<bÛ¯t¢OƒïÖÈpztVJïKèY@‚§S GÈ Ëx5ÜéÒRHï+Þ›jœ¡X×½j†ðYËhZ_JŸ}_VŵjB47 [T d2·¤ó
+ÍYFY¡š•¥ÆÉ(—‡’á›Û´¸Áú38
+È%äù pªAaÉô3IŸ»¯~‰..t +ž)ÂÒqEy8›Ö*tjTMºZÕ8ûµ ÂÅ:X+*ëHo¸ž¡Ðì ¬:X¥㬤dx
+ç5©\ï‹5gyÔ,& ’˱X™Ycdûy¾€qh¸ÙäL6š§6ºI^îG„SÙù •Z›KלÆ2P*¡Sq´^X0oPEan#«\"[´‘@"ŸqÊ0)oè®Îy8E¥ï½ùœ×Dd|Zaº›!÷R7Ô¤!,3ëAìô &öÒ’õêÙg¥&auÄôžS\0Ï%ÒŒ*šaRcY!Bsð&ìó¥|چ׌”ý¨wS@qà3åÇíéd [Ý <ñ¼öƒ
+û;`\àP•9f¬âheÛ%Þˆžf ¬ˆ$`DrdðÀŠxº²î—#Ñ™p"‰õVÊ Êd¶½Y#5²9ý ¬ƒFÖ©È­ïÅH{HÄ”UÓ{ÓœØ+>5¶
+ž¾<rº Ûæ²æ«e•OüÄU„#48&Aò8€ $^ÀfÎÁ’W¦°Ü7 ïÛhÀÜÌ@6-n¦¨„)¶L}€6×°¦Ý¬b
+Æ)gJpñŒ&Ja*³°Ò“jOî@B× g:¤ Û £8$Úð}ѳêᘜV£oÄëûiµÐˆH2£­¬zÐuõÂÅñöÞØ>›!Có‹¸u6…
+/ã½w ¿vjLJëýF.ƒÛxx¬™>ô´µR,ï7hBÞxµ¼õ„ÌúËòâžÝþéüôæƒÿíòê—üÅ°ùð“K.>þå2úÝ?ðñ'‹ÑóÝiüõãÇW/±o??;_æŸ_ßÙåNPëGõÇþÈ??ô¥g·Ç'¿Û/½Á/}z|sv²ý™ë«ßŸ~ïW2ÿýüËkvédkè-quûÕé Á üQó|ìÞTaÑ&åÇŸ~½û—Ý»7Ý Jô/;þêî_>Ø}üôøúögùôüôòÅ÷?ý÷œßÛq¯^¿þšñ~ÏÐ_]¾xuvûšao¿øc¼t¼Îw˜'|}¦/?
+ü×Z^Çïüäpû|8ÿ!ÇŽêÀ¡ûž,™œê
+I™æÔͺ_g~vùNü@§»ß~üÅoÿm÷Õé &ÉESOÇ0«Ñíúßžž#_ág­qÚ;´·¼ÇE Øöí½>=½Œ/ÇÙnèkŠ/Ç=0ËØm_~ü§ãøîó1ûÙøÍÖ/{ÄßGÂk)ÚÔºøôüUÌÒEÒ¦ÉS¦~ñU=zûêÇßœ^ÞûÛ]¨AͶg–c& ¸Ñö^£ðgCKáñÏûü‹Ÿ-¿ðÛŸ-cþ·Ÿë»Œ·>qŠößeüÿ .¼ô”ÐÑŒŽÆ¥£Ô:ãw·ÅxË}ä±»ÙÕ°×U 4sÜÈøW¼ftUÇ6:®éµ«šÐÕ´×UÑ$¬‚[è*Þ§µ®㵫eþögÓæ%ìÌr7ö5G÷mÊ4ê©.=qLeÓQ^ Ž¶úWó´%¶÷&ª›£§ÍÓ=ªÞÔkÔc³”–•×µ…9rOó¦§1VåöÙr„óÚÞÉÚîêiìê)væÊQgIJMOÛw˜µVÔã„5º|ç·?ëRZúœ£ÏE‹¥Ê»M¦6›{„M5Å —¾¿øY沯K%Ç·@æ Îùêìî¶çÝlÊŸƒw¬Û‰‹i`û~}½ ‹ãÐ]µ¸GŒ «¿¶=ÆÚï6ºp]¼Ó!¶»—Ž{ÂKí°dÓöU8Jö¨¶]´=0úFßNùÇXòË>ÊwzšcL6̽Ð3Þê ÔÕŒ5»¼øåù¶]‰Ãž//fe=I}¨µ7Qôo‚ÄÇLx S–ëÝÛ-êá3·Ó­Šññ Ù¬_žˆÝÞžÒûÜžÓ뉧XÝnÎ~ŽqÛQñmµ\>¼‹Éú¥¸s†˜¸.&¸lÏìÒ·ç-8Šº.îƒèiE€>–Z»h¦ðtÚ…\¶og™®è»ÇþíÖ ¡]à~ ÛÓ-Öa¿]~)^tÞ.šì#i95'Š³Éçf "U‹°ÇåZ¶íˆÁm»ìcE·a´³%~¬Æ´×¸´{-x¿+Œu9&~‹EÞ®Áv’nþ%Ø$ûX®íÍ–þîÁZÑó€e‹»Æè†x)í…7MšV›“}¿l‚èûqÀ[°‹úÜ&7vqt]Ã
+i§N;›†hé·×ç¸`ýe]
+šŸß£v.þ›es{QLü÷o¾xòË«§þñ_vþñâürùóÑrn.³üêVÕg¬È[–ìI?Bÿ›O-¯ýüÅõ©‹˜Åÿsû§—§úë‡ÿíòæwß_ßü˦JkûÑïŽÒgÑ~óšÏéjÄ]|ðŸÿîgçòêòô &¨„ýᙉOþóßö¹žŸ]¾XÚ½Á³-‹ãÙéí/ù?ü|ÛOÿH¯ÿg¢ûÞ™x£ç?;^ÎÞ7Yø?øVÿž6úÿøî·:>ú7^Ñx¼“W7·Wۓ쯷ÿÇÍ1²\¸ó–-ö¦Ëñ¯¾/ž¡Ðÿ½ÊOa—Þ|ý‡÷ø6þoƒ›ó³“¿÷³ø(ça¼öý¾Ñ»ý[¼GC~´ø??ô0z“‡ùÓßúaÊ0ÃÃ~èiþ tõ?цý·|ª<W:~衾5_Æ?Õ·YãoùX xóºz~u»˜ON¿¾ýòúìjñýà£ÝÿÎ{põóÌ{võêúäôS€ýþæwÿrCý­‡pqz{üb1…Þuó;Žãÿ}áØÛ¬®Í‡9}¨,þ¢ëv-ˆ±˜1¯^îž_~óêø›ÓÝÓ«—¯^ê C­À¨ù;óîøúöùÕñõ‹Ý ã»Ýî:|˶9ØõSÓ+í~uúÇÛÝÏ_œÝ??;7·ÖòÿñÅ鋳W»¯No®Î_7tW¸ò¡A~~Žhóåéµ~âv·z~wÏ‚Òª²_¿ð(´ñ‚¥Œ{¿yyu{çSÇçgÞu%2ïÅ˳Gj‹É\æâºÍø'¿Ø}òêöj÷ÕñÍíéõÙŸOït‰Y|yüry€›³‹WçR¥îµó|¯‹e^âÅîΖ<¾=Ý‘Çu<Kg+úûâôæÛ6$þæfê¿·ûß_^üþêÕíîÅòÛd¬ùêöåòïï>ožîöúøòæåñ²%Nþ´ô{öb™‹˜¨\qß/ÅÏÖÜçéõŸÍëêüÁO>oì°~ô{ÝŒu»?Òî붌OÎÏ^.Ÿ‡£õÇe¼ß,æ%7®£ØûÆ5çùè»Ó“ÛåGžŸ_žÜ_e{_YÞê°v·ËnÜ_»¶÷öÜÿ÷ê»t÷D4Jß7ð`PÛ]}wzýAÓ›ý7ýûO~ñ,n§ËhoþýÛ³“oŸ^_}}v~jRµM×{}úÙç
+Ÿy¡»Ô¹©w?· âL}~ݧþîÞsMyW
+R~n
+ØbŸÑí™9’ó›Ã Rn³“Ý©ÃL6pjÚî¿°ûÄö¼Õ¨¯@H,.òZ^nRËíõJ·<1{˜Ï&ÌÁ÷¶”ÏþéÞ¹¿_J/¹{òš êÙ³ùyõ³s¼u‚ ÑÔNhŸýÓ†¬%,Ùn|ž¬.Û±„ÌM©6§G¿¢àä/Ìh>ß.àoy×ï'(¿SrSÜŸ Nø„P°áˆÐ["6²n[!S‚ KD‹ î#z®mÐí$4´ÛÎwк•Ç?ÔöŒˆ™M9¿SvÉõt_,a}6, 5x®6(Üuh_®€É÷¤Ù‰•üLõ€ÎÔÉøt– .£Ç
+¿¢Žº KÍ|Ìvô–LÎOGøµ ¿šS£ÈQ?ŒÁ¿;áXNNè+‹ôÌãÞ2ïÉä¢þ¯çËsX¦& ›’ ׸ÅYˆœ «¹oÏ8™J€Öº~j¢| m'òWç
+ZЫëÃo*R·÷Ùþëi›7ÆØYÿワÌpmcL©é0•‰(aj‡q‚á^ÀºšpÙ Ö¾6`KcºèæÓ§ê{ÌZ0cU™ÀL­A 3÷R¿˜ebÖcÖŸU³m+UÌ~öÎ1§ê¢Æœ×¦skB9ÌcR 0¯}xÂ|±¢ó“® hb,8‚š¶‹Dre,Ú
+ÿ`±Ýˆ%K~«†XJsRcdåÃ2ø¡‡eË–7_ãXaŒ±RÔ¨Ç*O«Nâ+¬ž-º°¦­ÓÄZ×_%ÖÙ›RØ×0¼Xz¦T7=lÔp›°I«VÇfƒ[Ì"l Kl­±e°m {ÄöeK;NÛGìbrd”Xv|Uª‰¢R“Pi”ºe§©4&£6¥ùŒ”¶â8¨tÚ‹[®tÿrJ_I«S»ž2¢‡”±S÷¨L.ku%9È»”Ù~v£,ô2eeyVt)k›êNÙ¼´Ê® ÀéÅ7Jå°Ž •“-À¼fÊU
+¸ñªíáöÒx‡{.q#*i"x¶¨ãéeu‰óa=^÷ZbxWyéàƒÍúˆÏ~Wüw8ªà‡Åt«Áfc—F»žU5Íö qy•AM bÿÖÄVqפ=­¼¦ØYï4 )¬ùª¦'š±måÒüÌÝßšѶh®f}[«9·ÍZóÜÚѺZ}‹6X ö´‰üޥ͖ë3m¥‰jÛ+ÝA;¸.‹Ú…§kÔn Ù¡ö²ŽEüÓF˜βðwt¿'  ÿú.ºìèŠ@*껺F×맺YîPÐm6î’È+õÚÄ|ª·&½·Pˆè£ƒ³EŸ>g}Ųžé;¹d[?Úcyý*Ò
+™÷ߦԙ\™ÊÓ³ÊÔíWœ¦éÈ™2m'ë¶Y¹k¬Íf<b4{æ¸9^:¶ÍùÍbon¹{Nó¨×.š×–ÚÒ|ýù²YŒ‰ï¢Å£™l,±å`±ä[º¶¥U©-ã|3cÙäv«2ç Y͵ÚÄꛩÜÖä53°–§õ«™XÁBt[•ÁĦÓÅC6gSµ¶EÝcÒ–»TT¶ÖѶMªN·mðÚñ¬® Àíö’Þj×õK{vl+Ú›{¯Ã>±'÷ö]¦ÒràÇUÜákŽÈ>µq䓃®£c°¤À&ó:Ž•Ö©'ê;§Ç¥9“îQÓYñ&rξ_sþ~|.e»lSà.ë%it…C^+×5*]ƒúâšwÕg×Ù©>»kÃÅío{•ît2‰»›Ö²Þ=5ÿØÜG“Áë1QÏ>ÊxÈ„µîiÔêCÏd£ÛxŽþ®Ækè¹<^¿~F‚ý,=Èw¼­ˆcíöïy÷–b¹í e2_>™pù¾"Á’o•ýúUå˜Ãï˜ç+þ„¦uðWSË4W~÷…Lê[ H%dV4èΗ‡Àª&xPß샮dš „ölýBpÖÎiƒ—±­²éTîP,ù»
+U–ÓlhìëéCÇÅ×(lŽv“áˆa¦—ÆËixØRçÇœÛ1¥ó§H˜˜ô#¥¼!~ÁìG«ƒ&j6'×ÑHéÔ–…JtLšˆèé0öǬå´5÷:µ±ºÇb³íúÇýuÜ9þ^ÅS³îO¼ýÓ^ĵãeBZÿ&üÕë6‘?ØN‰A"­JNS£OZJg2î(D’õË%—\LÒ-BݹÎo¹t&re‹…è·—qâ0*ÖSVMd•Jø úT³‡ÅS+öKjÛ¿g2h]úÉÒ|Ý$'åË9ôá´Û줳úÀ’îãÓbúhÔŸ26>™!*§u¦³LE2[Ãæ'kjä#Ù¸^ÿ›m~O“Ù_ú”Ó_¥\d®2æêe?·lÍ#y]ùûœ Zy`Œø¼\]
+:ß©[ ^¨kã†Â²õý[ÔÛ±V1²J$‹æÊQüM±’Ñû³,Å=©ïRÛ­*•¶¡Q¶É`™ØåoåÕT>¦ÖÚŠc9VU²ÑÞµ2¼ .U¬¿¸V}ä^Y-ûu¸¯.Œ}Mg­ØjQ篷ÖòY£µm©™«[çšf=m­MꃲþÐÀ”=cÃ׈†•€®Üø¹,&Mô¥j&¾óæW=VmžÁuË=Û[Åe¤ØZhR¿m}¢îRàíøÏ¢ÙþòáÊöiIu<™þo§lÔ;?ëâ´k©½]¢ßœtûßß6^-¾ËBô«a
+쿶)}áÛ¾8¾óΟÁ÷l0‰ôôá)ÖK⫯^orˆô±¾E£ÀûÁR`ÒoVë…þ¾±ñ\cjPƾƒ•×ÐZšÍÔ0«³{‡ÓÎÒ8Ò»²×Qrg_ß—éXôÆÑX«=þŠUêãk¶Rk•Ê¤5kU&'ä6õ•.->­ŸíßÓ}>;žyL?¿³êÔvšm[ßú¹+gsÏ+á¯Ä|“ ÖÎÌqº(·;×Åzsþ8ÎìO¹®þ
+üèEÜÇvv¬<aNËü³ô[§¡Á›>ëñ…ÿÿÜÍUAGUý#PÜ-76ÀÏÛ8Œw·£#§ÝÅ
+ð
+,ËðŠcìwˆS"wn²yµsoÛi›VIë̯½Ö™MóÄÆ[ÙR#èðX2RµS&¿˜oDöÛ£Šx“û1Ôš}Uìp0 ˆÇ ‚Sòíi{ª;H§Hb­÷˜é¥Ùšlö¾ªHXÇ! ‰¿N‹¾ (¨‰·M”YúlŒ!úS¨ÊSÍ“¦Ôˆæè:²`évlÆH$erÑŸ0 §g¿¥šÉ{‡¼rÂMc¹{úLìºp 6š»Ð37– †ˆÔÐRwy¾<¿Óxƒø5 kþ˜µê„gÒ¬†2Ä0o,§—xE=-Æ'˜}`¿wUà7³¯Tg½ÞID­ZÎ2¬`¾å”¹MXwO,ê©¢'
+>™.éƒrâ÷ƒ®"Áìy¿H®Î+”–æïŠC¯Êf˜QçÍprM—WÑÎ}ånHz@Ž9Á[¼`H_†³m¼>ÊÖUXGR
+1#Âo†WSNŽ ;gË0hˆE\;àì5’ê±%¹»9`)÷„÷–ž}ø~ÍÙiX¿6€M4½O™Ó0 bµ »£6FÂ'zK{ñVÕ›4ˆ|>c&C)·½…cù1ì¨æb Olr6 œ«o†?½¾èÊàŠµ&Vo%S¬Ù'ƒfÜ©ÁÔ)‡^=HÚÓÉB ~Š€%nÛæ“@ÔnÒ%£÷g@ááþ†j‰žÁ¯ (“è‡è«§^pTáÛ0úõA>KP â!3éu›‰šcøuHÁ&! “asø€¸£JÀF%…âよÝ;¹ÿ"ˆšÀÞTP—PÀX
+ôdºgM|>—ç'Zõ+x`ÛîYEÚv¶ vq³ 0¯·ÙŸç‰Eõ\·®*ß@mN“”¾ít(¿¥!QSH³!f…¡Qv'^&‰ßö0¹úõXƒ‹-þô[ƒÐ$2òzk³=윙Ñh5¶¾é3 ÀJ¦ýÿɲðîþ€ñcÖG)Ugdµ²6¹4v“ÖU$ çŠK'Ž-²ËÞB2†0cì9¨dùR§
+:
+Ôš§'«#bF…&B­s†*™ °,ýŸ«ý³:ê_ÏóI0 ™‘ #~"Ýõ.€9žrØiW‘¶Šé{<#…Zc©ÚQ•X4i §I¡Ÿ¥(D–*Üü”à„4k1¾ò’ƒ¾AE¦vב÷o}ôì‡Ljë·Ï;-äÕJ Œ¥»-Ñþµ‹Ç«¥z‹$ô³Û f±ï56ïú:©Ø
+ùɱ‘ù>Ç×ÌKrÙÃÆHz8¼­¬¾Ì %ŸX@µ¯,ž @OË ±v„1æÅÝ` ̶ÜDJÚ_Œ·X|¸?™Ò”JlÖ=XªÆhk|¼!hxcÁ|W ÌÇ%Æ…]Ž×Ó³_0/á“#ÖÄühÐ „uWÇ.¹zäXty¾¢IöWPXc
+Ü¿!÷ ±c¿·lܸ— L&÷:ÙEiþµ9<q 1qÍëO¹—ÕȽ?`%“úÊ&Hî/‡1Òí!Ê°òY` ,îM†KDO0/OîJXj33Š¹oQ ’Ü%i× X|æÃq¿"¬`ìFOíܺœFžgºsi"LKÐvØ ·yGb[Ž€]Œ£x”\‰òÕùH];§ŒÏ‚µc1ë.%ZuôÅíã*¸ÈL~bÉEIlÊv÷O8Ú±C¦®'ƒ`³önº¥MìôËÌßW˜Ê¤NxT—
+>sùFQÉ ÷¶6…Øè¢êÔж닱Pà)Ó¾x»cñïÔ´²ÑóÔ%Ú3ùƒ¯@õ+½gk©ob ýæÇ·t±“ÙWjÖ~`5ð-ÀŒ· `^Xê µ…­`Å @Aé5Éapiå#uDŽ[0É?Œš3/à\]ã¾ÉáÇbÏ´Lô30Å@k¨fR·÷ëy¯ì“BÖÁ€¸ï¯°Ë%sb³µ-ÀzYy"r7<øíC£ÛÁy-½¾êÞ Ú5 Ìf“ãc“/3aóiÉäܳŽ7ˆ±=±ñ©|6‡é¸ŠÊÕ š0–„yXEè|"<í|¦!ŠñZ#v|\ªsr.žc{¢žN:YJ¶¢wíÐCï/ÞÐjúMd§µJÂÕv\&~ ÂÀæa«’º\´àÏôÈ ­Ó“h -ï æÕññ£ê»¼ƒ% Ô¡•…´>l1ßÃE÷Ò«ñ!\Ý¡ÔÄúuàjÞTÏ| ºNUš:Ÿ±—ü^¦ÈùHÏô%5It
+<P4:¿ã†ã,–hö¶@{©èeQ „ðíkOddTd2Þ*b,ÛrŒ05ÜwŸ!Õ[ÿ:žjĽþÚß5JlÁ 6Ñ&p#CSIoÞ™wõ XaVt Em°¶³i@Ìkí%—pu•ÍL¸çÒÊ)­æq è,=ˆe-ó#µgó'¶‡»aÅ>þuª€‰ðåg@ì>¬D껕K<ßµÏXHÃùÒŒ˜mý&ö™è™Hùòú‡‘¿”Þ–n§ÞO/(k,퉅?·!&†î/ŒN!2¾Ù)‘;”·^Àìã¼@)iíù|ÈJ©jŽjÝL¦ì ˆ×”· më€äoX=a2Ixðƒ›ÈŽ7øƒüÙTô€6ý”¥"ŸU&´ä2PÈt­tɘí2s¾›˜Ád&lþÆï
+
+ÒÛ­±ñéi?_
+ãÿÌOòî zÂô²”%U—ÈkÔº+çÖUº{ÙÝtså3¥ &¼÷òµn&X™ÞRÓ'Tl)ˆÜ‰#ûZX)¼B’ž™i~ã-ýÇ;Ѳ@vxþŸ½˜åÖ…¼ °º]¡'%›xf)5ÄÚü§“öe2³ Å.}¸ý°qZm!Žö“¾î x={¿üáorUÞz\’$ ¨ –þKjÔeE]¼R’¼Òˆ‘aènHµs!¾ûéÎÔ
+Û¬š+èÝ~Á _ÿ]wëBÙ‚dzZdJ8ȳã˼±¼n'»ñj#u÷ g ËR=XB­uH®8°‹·ç“Öjþ¿r»ÂRSå(}¬yLQ“¨ª«›~ÌJðÊÜHÞ·cYF¥ÐàÀÞ¼9_,Óýuw¿F˜º0%»[ÿƒ¥!ÿqnæà Þk]rëCBTÝHxÃèí ™ýD0Ìq¼ÆhkbµYEƒ1º¼8á'‡+T 8ï/ª÷OèEÐm\ÄŸ^gTµð˜Xغ‘û[‡1\ó,1½3ÆÌVmMcÆÈ:„éK_~Ì´\W£…3^uÌTì˜ÙVtجᮡwcI}Õuvœ‹ sÄÚ-"΄Ïéó|y¶_(A95˜·¶ÌpžTà§S$<‰›¥\,ï?G|™PÛBî¿\­Ô©÷e#¾Ènƒ ÇÃS»!îÝÑXœêª1i6Ô
+çÓ)xn
+#M{î@v`D:P—
+
+œ‡–AêYåÓ¸0Ò¦;íøIiÅÞs)ƒT3hÏZSÑ,‚ԽԵݔ0R—¾g 9~„Gª$.®j6¡±ÚÈD>&‚Ô£RïNú°ÒîÀF.Ju)Jž¼£Mc!=7l"Mg Qò:¾"B
+Öâ$ÅÓ6Xɽk¤
+œOà‹Ê¥‘vÍ:£%W˜&oª·&9H¿B¶‚×l‡H <¤
+ü¬ÌÌ÷žÚØì
+%¿ëÛl«õJ¡±ž•ù̼ôý¥× "miw?¢HëËêh‚*ðDZ~§m­ü!$Œ´àÄ›d,FzÈ)…™ Ѷ†iåE„Àße[;š'„‘#©á Úï "í—×Y„î/cýíºg¤ÒžÏÖ?oÌÂHK¿‡mÙïsò,í0kÞ‰ø„טÒnÓ–Zms‚H}%³‹õÍ@Ž´#Ÿi®CïF:qêyL£ÿ*Œ ©CÑe¸#-ØF†@"51Hˆ€ý=Þ„~øÄGzÞkÂ4ÒKÔÈ)Öë)¤‰®=Ë„¦Ó¹Á
+œA‹,¤´s¾…‘ºº_¢HÁ&òkçécì±"KG)Üò¦bHgl¤®:°‘Yh}¥D…t¦Ñ¨¤Hû¿#uòÈ µÿûHÓR}Y¯l´‡¢H‘ö/‚؃@û0HÁX8cí‹">»Ä‘Bí_©‡úÿRx¬!Ì"…´ EŠt
+)ä}Z¨S48³:÷ßУOôDè“_³­œvƒëvÇæ}‘–Õqꔟ¶s/éuGK‹s/NKËÖé¶:5–ƒ&B^O´pÑÔc<Ž·®Tó'rÐÍ´±eeïGúÐáQ‡@Düõ/êEÄŸþ&€à§ f'#šhô‘Nÿ1÷4¤ßÜuKÐ0¸ðjÄó>±—°.ç~ÿSck̴Ϭ|oL@,iöpG¹(íS]nVÀ Th¯†u(½ǬT4\Þ=n Ã¶œÇѸ Û\+I¨Sk–×)v—†W-XºE“Cµ±üh<w "9–ýk"ÿŒèðÝyʘŸŸgFˆþˆÎàmþêÊçó§ºÏ@¯1¡Båµ)A,ùó·G듲,dK˜Ýø%EA)ä,÷±‚æ—V³®8;2µ²Ò½ã딤;Pn¾è•ü6å‰/Nšî
+qbqEþQô R\Ñã=ŠgK7Õ˞ؼw™C@ %z„i7€—ŒÜ,ÒSÊDý¡igß Ó®kÆDŶW"œàкÊׇÆÞÅÐàœÑV£øŒÔ鼆>Mìa䊽‹±F5¯X4ôì?ˆÑÀÒÚ¿4 ! Ö0ç:,ÚÞÙ½ÎGz è\‡™&ÓÁ>Vk3¨”Ÿÿ„±‰ïÒ˽1|[9¬•Œœ:ÂÀìr BtgòùnLÊå;i®{åXÙ¹JÎ¥ÊnjÚMðÏ·‘uHñ°,€dÔ¥òBÓ (ÆžPøL(ãˆ~\`|w)ø¸6ÊÕ{—XýBc¹¤{IOÎbƒŒÙæ—¦õA {œÆâ+§d–~¦…É=kßY‹nL2tF¦1Ðf¾/¢Û’e~Ó&™×µ'!ÞŸ¥¹rZ€XÅ=³ñJté͉î•åÝ9*è’¸Bw›:.o•/©X<Óù93¸Ã%‹æ/]Ù2 ¨•ü°úNF¿
+ü•N©þ(
+\b¥ƒµÃÝôþ"
+ÊÝšd Üdò+p^ß÷îö¾
+\HàlB­½”Í>:ÖQ\¦7ÞØ<¾qøìÝØÛþ²ÐÅÅLÍ, ø¼|bfÊÿš˜ÀZØKBV‹ŠÙ?F?p™¹…liŽ%þÌ/¨ILÂ<‡#Oµ…‚ü0
+ÂÄö¼–@uy)„Š yÝm,æ4F7ƒ½í¯êšUÒCSÈLvãFB¾êD+Ìù»c*ÙMì؆k%=Kv·O¥XÒ2% Â1MŸ™!)^6'SX0n–ýñÄfâ8>Ë|”'³ÆäKF/âJ1³wâ¡|)Åå¾ef>·í±„βïúØ£ëì™ãpí;ðÜ$à·MÁ Ù?œX¥EÕ.Ñ,0–¦ÄÏ{ªvÉÎã»>‹!oò,ÿEÅqZ‰§¦‰'ÁH«Ò1ðÚðR%Ö©˜PŠ¦øü=—E0Ks=˜‚ó'7Ïwz–#µ¸ÑéØÇ2DOÌɇXfÊ+Àž¯xùã:XߤØÓ4Qùƒd$ÚŸ(Æuü:®™è”áÖ drÉÓe|¾fÖÕkÂ~Ké|9
+v¬3ÙÞϬ‡ÜÇb"(nL¤˜n)'&²µ—ùŒ÷Ïkç»j@H¼ŸŽà˜žÍ¾L8ròHD¡Pú‚óL®‡H‰øç &׉;ÄãYµlD"žµGÃCijöød"xL(êíé´ÞaC&ùˆåUx— 0Éke„ä˜(vrÙPB‡ô~Í^\hŸ¹ Áy}Dò‘œ$BVy»ØS8âW‹Ü¦%fýx%ðÓÛи^iÞmzÓ£ &ŸI_ìôÔ ¾g¤Ú• aYìbá?e¤Ž•CI¤23RÇʉ—Á“T¿d¤öŽŸÉH…p>‘‘
+óÅÞÏH…P>‘‘
+áÈ»šg Åõ!¿4õå #½™ž}.vÞfC^*œ°ût*Šç—ŒèùD*œà¼|<îï~K.Ťm÷ìÊ7RáØw¡d¸ÿ“T8¯ÂÿA*œ°L¦}Ö•R Ù¢€}²TâÓR4VUÎð\},iybÉ ô‚ Ü²<Š2ȘøÍv/ê0— ¿z¸ÀÊFïÊ<‘ºˆr¡-Áò<¹™ŸW×½‡¿9ܼ£Ûÿ°jœI=¨Äe¤¼LoZã!¡š]S¤_H%³^´@ò“¨·‹Ê†_©S,žñ4rÉ„ešL&¬yX„ ~¸mGø†ÛeÚãÄÍÅÊ:ƒV£ô-žwæ«*ìåÅMv NËE¶ó™…Ô½4à!l/–açêv¤’ÝfVQ¤6²‘Ê°ÃË«âX éHiÚìg!åçbŒg–ŽŸìæê, ÷Ê„¼0¥N*ÙÍná!åÖã nÅ2ì<*ÕÑsí‰%»}Kem¥3ìö†(RMa¾œ‰!K×ã«vÄ‘¦JßiQòªwÎàP i•›a‡f0,=jô‰^ç™í‚Bí(¯§¥«WÑ¥¯Píè­³àPDK7+)B^7ü UÊw,#ä–«ÁwÔX8gDÍþ3©=Ï#Tù^ñ:VG]b‹ItêYpê³8Êzýd%9¡²#wªÈð.IU’{É ÷MÈ‘|’ ‰î„|!®ïY9ɸ>ùëéI9Ññ Õ}{VlDîøž×MôguFxw©½Q?N>¿¤çâ…ˆDÃ]å “öôþ%›îo~˜W³é„ì€[-ÎÏeÓɼæÍl:!Ÿ Ÿ_ÞϦÊ¥ûkæ£x6/^8Òþl:Yhž¼ì­l:!POnùC6Ýwä³é„Îiî{åDzé„réØöþg²é„rédÆö¼M'äk¿U`ÿ\6Ðì"OïG³é„”vìèg²é„réDn›#›î±KK•¸¦ô×l:!åT:›Nhþ¢¡Þ̦ãƒzZSøOÙtbºåg³éäSìl:(þ™ø‡²éþD±—³é$s¬>–M'œ[ýél:!
+"YÏbâuI®(Q]Ž{0õ§.AŠN½TvYªK¢F‚Ne—ED&ÜŸQÔž;ó,"§ÚxRØ\Ú3w¯–%Uèîí2w¬{®dªä)s'Z]./+WIf™;±L.y‰t²$¤ã“™BwïÍUº{SeFÒK%«ÌÝS"$ÌÛeîhFºÐÝÛeî¨Ü·'…îäò¸çÊmÚ¥'Q~žEþc!J‡<£rÿ9— -¬—»>EOy`º§±‡ÏÖ'L£ƒÆ³¤^V"œˆfÅó Cñ Ùù…
+£5z+G˜±÷.QR6„Hù´Þ«T µáñHfâ=FPKZâb1Ôóóú#™)÷›_×$A®Ÿª`^TĈeó~ó¥BÕb§o°ðÚÛêE*ªó8¸%€‚ónµj
+Ê …n8|-Vµ)#‘á¥^½Q€ [2dyàß®pw˯«q÷6®økÝê×*ÜIe>¾Á†·…FW¸ûH¥¼§ùDò*å½›Ot¯”÷>JT¸ãæ%ÉÉùK…;©z¯°ÆÝëîäÞj³ŸÞO¬í5GÌz•X €=Wsrª6Ýßkù™îwýG0¿°(˜ýÚ=WÎäæÃÎGò9‹6y¶ØS8â¹°¼$&ųk&P¹¼WòÛ…’˜Ø§¢P@˜Ø0 {22üZ·ºo2Ó˜ä$1iþ%ÊÚÅä¤1qùÄwÊ€ºÏ‹hS@'+C]Òl¿se@'‡+å$1iÃ;¾òýW»²óR“X¬(±Ó¾¦vèÞ7nåç)†—%vºT ˆOä¸&-â·ŠAûåÕŠt/•{D¤×ǺŸ»šª‹Nß>”ãÚ½šêufr~©Üã“JyÖ?渲øó†!#ëùyŽ+è’ì¬g©WÚ'¢àÆwSý`Æ[&Ü Öödškªy®®À‰¨±ÞïGFø”® ì>²Ó#gmDIPrí²|Çô'N^)Zc#åäÃ)ð³ªÕ­°]UÜ:läwW$N/ž„wºŽv®Læ¥áÙ b¹•Ú[Ó÷Å’ðz¢HÁX”äÁ):V[ZõÕEªÍN,?buØô Ò{&CàŠÛÁBÊMM;k½¦Ž “—å¨×E¿7BH8$0¿æ' oÌÏýc“7ªˆ õ¨pW‰1>X~FÜPiZíGš®ª¾„¢ºo¾ 'µ’´&UG0ßGšJ5INd@«†ïM÷OtæÕ¶rg_¤3imÇί´ ¸ ˆÆÀþ’b¶I0残¯tÞkhowóLJø‰ïÌ°I@T·qª˜=œ”±7Øa~bÓS‰xJÒch•h—àJïTRNjÓóĦó§*³ ‡î“Ê,r=I„th•èÔ=Tfꯄ IeÝñnž|#+íI„&E%…¼õÄ;ôzu|w¯5Ì»{¹Ê¢H—¢´øü"›è/Ei)p©N‰û‰_ë–âqZtbcyâ*Õ‹¸‡×©Çš)3%
+ü%‡®h]?é¡ñ|®ëÇéÈCU¿?T
+Þý‡º~Ò7ÝÏÄ߬ë'¹Ñ%Ñ.öº~Òná—n ’¨ë'mê
+FAÿ¡®ŸPš$ÃzïÕãû@ÎûKuý¤¡@?ÿ'êúI¨(dÃy'ñŸ‘ú׺~ª&«ª»:ƒíº~<6´q«úqîìz9=Åv¯ë÷4ïõ#uý¤«úÝWò›uý¤®Y©oÕõcò·„Ö"ïž«?×õ“& Ò`?P×O‚×Îkç‡êñ¤¡È®Ç÷¤œœìz|oÕõ»CdŸW³9êúIä=<¶¿Z×OZ“‡7|¢®ŸØÞz<Iü[þ– uþv’øŒ ŸÕõ“>oæFü½®—Ú|kñ¯õø^ Ò¯Ç÷ö¹Wõ{¿Ÿœ$¦g·7<Æj¼VŠŸ‘ú^]?Žcû¡ª•1ô~]¿{ª”T]Ñ·ëúI«9"kìåº~ÒUýÞ¾µ‰®ë÷¦¯Of]?y¯¨ë']Õïåz|ÊÂåIËǺ~O†gUõcay«®ß£+™]ÕOì–³WëúI‡wñv±?×õ“tâù”þ\×O`^XUý¤ï…“_×ïï~K.Å^Ïy±+ߨëÇ.¡ª~ŽäÕõ“\¬
+ ïÕõ“V )ëõýº~Ò ±ôŽüv]?î ùUýô1Ù7Yqëú‰+A”óä&+™uýdé0o×õcÏäãŽDv­
+×õ“Þ$³8?–KíûVíáKJG+7…#>ø÷J-©y{%x*îÚ•¼ç¥-rVÓm1§7‘ðOù¦hT:ÎiÙ3„±YËsÏž%Ž%Z8ÃÜ7Çy‰m%‡¿Kj›µ³öR`>¦.F²›n‡Y§ß—ó´Ì‘‘Mß_mtæ­^›8&l™ŸR\u¼&<Xo<s‚O£îö3šbùXs×Ýoîu[\S_‘ìXò–æ.¤]£DmÝŒÎêEO{Ù˜—ÜÇ–n¾P·ãzñ«lÔòëÀ&ÔÙÏ£ºÝqè=â§ØÎSÂÚ¥¨VíÔ¥=øâ;›Õ_—ªo×¾7мr;#ÍF½…YŒƒæø9¶Œ!§6f#ù„\Ls¶´GS;F~ÝéìkgϪgrvO¾+÷Lˆ1l5·-΂_yK{ûµžÎ½=,6çWQ¹Õ2„“_ü* ýñiõ
+ÿL˜© Û­Y…à)ð¿ClÚˆžf8Œ75ÁQréÍâø® ÷
+%H x~gP¿{q„êU¶1‹ÜÃålJ2êÐGÏ6AííCòƒŽº N -ÈÐBçFøÀ3otsEu¿ÓÞauÚ}*›|Ú•LÙ0,žeå;‰Ÿ¶`Œâí«ŽºP8Cí0Òw¥[ãÞ“¬.£gÊd\ ~V»ÀÆ-îí 4=„i•â0&ÕÑÔ]¯É8tþ®“ÑtÑ3¥2MÛføŽ8Â{WçŠÕYI’8Â6Wº­<N%~±Òq a _{Ó`ƒf§&øm\G˜ìéÍûE+z
+6ÿ–=;Ön‰½óM¸ /‘©ÒÒÕ¡?Õ»‚ÙgtKT—jèJø¢Ë¯¬et=Ã÷É9¹©t1çM›£®µ€âÁ•æר†õƒéyqu¿ RŒ¾‡„{g…&Yîa¨‚ÞÌå µ­cÀÊ+ÓFz@Ĺ~ïš#Kçö›}O -û¨îéL÷±Øl¡#NÔ¬!
+ü͉ ¯Ñ½W[Ý
+ ¤RHÙò»Óž¶Çⶼ}ëŸÊf¸;èž0܈y®–W»É¶3‚Þ^7ŸhïÌ%–݉ÏÌ»)б85!OÞºŠ4óN 1‚gßaê@Ŧ³|!%ÿ¦âÛ€QT·ØMIt 0ŽØMºr‘ß>)dõ4oèj]ʨšŸ×Z6uÜEF3ãøIÌ‹{”Ë…Jïö,gÛ)Z¶Æ3OÌqÝ–íýÚÅ#í´b~{ÆúZj}¬ë߀ gƒvˆ!ÈU·pôÈ»¿ê)l°JjGh¬úî‘ÃpýÎ43åôІ—nøÉɸñe˜é ˆi(EôÆš î9òí©ðbÊJ¦ã˜̾¢Ý{ÏÚl›^í³Ù³Ú äh#{,0[òga7ͶÜ:ë§ãù)‘C¹w¸p£}šYøÔ²OÔZEd„ó^ø3Ý+ ˆCçO2ÖXÂK{áÐúã+ìîf4ñاëG n“8Ó⑃Ùû«ÍDX·p˜øKew賡`ª¸>âè¬[ÆÈÕ;†_1—3ÚÔyQ½ò‚x 9ØÄê6£ŽQ©TBšÒÄãÐ×0Â>Í&Ê€_4 ¿ô(;7]˜EAo#V»é°%C4mD Œ= :—5AC1} ÃÈèîî¢è¦U‹¢n ±ù5yL%Êmì(oqã\`ƪ2ªÀÑÿh‹ð~ðè`ýšïí¡Öùøhâ,âä…é’ùx|²aC¾BÛË*‹¤ûÈ 4
+A“»Ó”=Õ¹:‚úE{áX+¯4Ž†iKüÑÕ!àè@þ8¿û@¾*ñ÷ʪØö—§_7F‚Þf
+†@÷RNNthÉÞòvÐeeΑy̾ºf ÿÍ’ƒôr0“´«‘Š_8±Vª=c>¤#Ì_bvM$a iÇpJÚÁDÅ=
+؇q¯^³ÎX#à.¨“áÛ‹¤™yÁ;f`^
+!îf{ÈÛ!JŽåàŸ(Åû¦ã¡,Ìöw¹"¹I
+m‘÷?»I
+m‘
+üÓ›¤ÐÉlœŸÚ$…¶Hn) Û¡ÎC$.;z×Íw?ñ9ìf0£MÆ®§f0ÝŽŠE˜jØ›r\‡òm#‘lL\¼`ÕÑs-Þ
+Ðe[öB¡LàÅÝÈœ
+ÐV"3z™ð”ïEj¾yí¸Tå RÇ,9[†¨Oî¨v¼µ¢ž‰Ü²‘Ä}Jºý»€KBÅØJï ÷32Ur ÃüÍgô’J~“–ÿ·*9¤ØŸ|F/©älÓÿJN]Bêû?VÉἈ¨ÐTÉÙæÿN%XX>±ÿ+•®1 ”ßUò3eôi¥›œú!Ðk)+szê˜nØ ¬è¸Îëã¾µ"eƒ²øzt\¢ÛN ;Tf‰“ RwÑÜÐoÜ3S‡d€×¾€bÜ:ݽ½´´
+Š$ÌN5~Údv~Æäø<e„£,V‰•$è†RŒÍêìòžé¡GK…¢lº ´Ðê~:f¤£Æ?QP)k·S»Û¤Àqð¤>¿\°{˜˜ÿ¬v…ñæ'…ýõ¯ ükÿçúçp»Ñ^?xà†O ….1>Ïõÿ
+;>´ÆOb5½¬ö»ñé?ÿðQ§Xhf‰tÃà?è‡mš‚çzèy‚¾ ¶qð_çÚø|*+l›Ãév
+È/<†ûŸÀ
+ŸèÿöÉgŸþìóß|ú¿×ßãýOþ¯?þþò¿ÿÍÝô›»vÿ—uÿ«ÿñ ž•¿Åg¥oñYákŸõîo%–X xóækC‚@x*Þ¾ÿä‹/þ,Á`W~½dø·ý?áÝñc#¦ /8„Ý·þPFK½[∈7 é÷eay®ýþòLí¾Ä‡°P¼6Þ¨ë_—xÊõ¡…Š­8Úú·55cýø¼;®YÈÌsí‰ã9±­ 3ò=™w¤PÖÓz9þ=ŵmð­û)L^~üξf¿Ë~Îñ¾§z»vÈ/¯øŸùèõ×¹6|Œº¿6ýÛ¯ñié¡æ÷Ø›Ø?¿”‡ÒŽ¿Ú[¾½Û#1¯;îðgà'×4Ùl쿽ŗåõ´8O—¤Tùùû1>pü’Ø«ì‡ïzú˜·Ï|¨OÂ?Ü=3“ÏÍö¼¾Á3«v]ÙÓÊ¿½{OÑs‹°·wÏ¡ð)RoVþÞý»Ï¹™¸üXJk«”Ê}|ÛäPÇÀù[#N8Ší¸þˆô#V^VþÞ>·­su=Ó—yÝ>—‚öÞþZRð[—–”ü}ÎãMÌã7ž˜Çš˜Ço>1wÏ|ìyl‚x]h#7Œ•ÖøÂ}m¶Ø1[!ˆÖË–šñŒ™×Îã}åaA¾áGÊœ|¥µK¨x¥4¾cMÞXcyî ¸¹=äÆWeýkª÷9¯÷Ñ-ù¡§¸>šéÚ Úœ3Œ¥fö‡:'h}4þ”ÚÈk²5²$jám}®·c¨!½òú®Ö8‰½ó× 0ð ùa®Ò¯õuÛÚ:5=¤Q’ÍÇÒ ËxˆkÚïog3½..-•Û½ø§o.X?@°<~`yü†‚å¹õIø÷µÏ’zÉé(…Ç­Œì¨.±ãV«õ¨!k/ü´µ×¼ÏÊßšP•øƒ#Ï¡‘ž×¿á‚­Ü›£gà6÷€O˜Ê\ð…1׬ûj+^×Òû}ic1V®øx(evŒ„–꣄|Ú\)WŸ‰¸@&õ鈕›½™†ó-¹ÒÖ¾ÃXšÖz®„‘¾6·äÊÀ䬻©>ôÊ{jNI_1ê²X×+,PuÉŒ”—dYŸ±¬¸®ïÈ#­²
+¹¼ŽW*$Ä\`*êÃZÇŠ‘ZG”ÌH}uäÒº6d\$SYKY}¯¯Sb¬i¥Ð¨ë`ë„óXzŠî[3Ò×'f€£âHâ.ÍKçÈ ±!ÙÞ.Ðl3³i$®™†ª+í»=7¨¶A7µ0΄3qéâimãû¸vLò3qm4LÙÂi ëuq(öÍ{Auaxøž°,½R“Ž-GïÀ^™ØÏàc½ÞRÜc)U·A»‡¦Eq·¶\N¶KQë¾°ks¯ïÄê¦ýTÄ‘]©úÉg‹äXXŸRZ| ¿ùP›G½¢
+KPŒµZrGk(¹ÞòÁ3Çd:c~Ôä…Ðud­±¥Åòm¬‰Ç@M¦éÎub¤,µÊ!Ÿ–nÃÅŒ%ê4É-Qÿ®™8]¯3Ó"\2ºjêp¬ù^Ö\Óð=a.|GÊtŒ´€ÍÒ´ziûô*PÌÖV ¼
+¿·„ò}\ª™±…ðÖ5ë¼Ê¹ê kg>ïëAØ-}Nj÷ËÐ̶â#ó[Ý ‘e3`B‰®®a½ÖûÆx¬ gòX¯:ÓxÀ<}¨M‚±"Ús)ÖfNí1¼Í>èéËÂ+Ûݽ¹­­¥ª±e@&‰Þ—們ä&NS, ŽiS»––OùL N0ÌAÀÅ}‰îJËʾá²HZ{Ó´z]Ç‚åóC#©dºJèÉa‰@P9yÄ|]?‹IÌÓ´Ÿ‰oxt kKÆV,îzÉu¹Ö¿d8ÖþH¹k¹×ÞŽ<h–"ã¨ä¯éï•zŒPI ¡EwÝø4‹5°ç^*Oj“਴ˆkÖñOTz¬Ÿx/Fawãr
+g™ã²ãé#Eó2„u c ¸†P .cIÌ=q±<@êÄò(k%—12Ê$r.²zós½õù;,Ø4,K¥Beˆ¹dê\/€ê¸uý¥Ü6à‹êËz¦úÀ²´+5Ù…Ë´þH !h
+Û”×*ð0Æ@2e½e3m©ù/TθEe,8êúƜϢ’Ö´{¼l}­à8| ’òü6I³[ô˜dðY& —I±&ï ’³Cr¬ƒã-5å:Í1P¶O«Ø+,œ
+]X¸@/fèÑDeY¿LU£´";’×,YYÒÜB3T”õùœˆ•c¡2x/œ-xRIM½ç}öC;]Òrà|6 a‰ÒuµCÏœ§:‚9˹ððÑØ:\»ëç–ø¤ÝEvä@a9gÜÂ’[e­@·ó¸äÌ­ãèþfÕZ{¨¾
+Xž>Ô&áŠKê“xß–±“YŠŸäWXfØ-ùðÑ®í—׬æp‰1ñª» Kê\”0]Xò_Þ #¼™ó ›Å`¹p–è¢uÃ’Ðà q¦"TÄuÐÃÆK®=`Ó>ú—Ý>a<5S\×9²“ûõ/µK¦iX…š7,sÌHßx¨†¶þ”–J™a-ÒI<àå{¯me‘ŠÑõ X˜G7X®¯àÜU6Çrµ2_CìàæCm®¸ÔL—ŽÉOîqÒ˜«g`N(dÌe‰v>ßÂRpïã [_Óvð  -JŒv¯M:ÕÒ”"Ù[eÔ§u7]–jÈ@ÝQ6wy}Q^óò,—aň–ûï²äî‚e,£8,yR¯Ã˜îGþ|ZVò=€žf,sª”Ÿs‰Y×-ÛZRÀ2 †¢,3îËSn
+Âr"ͱ1Ã%A¿„°¾ÁåªýþfõZû)¿
+`ž>Ô&Ái©bYfN<Ÿß¡%¬?1ª%‹}s½D-ÛÏM®13:—Àl2Cá·ÒHëKPrQZt\ÒÈ… ¥i
+e2ù­RÖ¸šÜ1© GX_ŸÁVÉ4èÄÉ Ø`j&ü ™aT˜‰8äðäï¯Oï
+¤úð,¡š–=½ÄåÒ.‹P¹Œí5F‰P=×ì9T Cec/=&æ(`2ÿ
+HR$p‰g8`×m=J<#F‘D°Œî…°.;œj(²I
+£7‰b’àfíô ¿L0JY
+„z§ þû‡¥N)lÀUÄ©XîFõKgy”úuÂÑLsã¨O¾ƒù;jrjª²v€#ø¥1²­O=hÈ$n4'2  × O´«}ã(¦ÀH…G˜EódèÜ튗@ÀÍ>ü¸KüÒ/ƒw繋üû¥­ue”.3cÌ¢D+‰rjMtN8šëš€*ß7ӡ׫õJC£%¾ærX:c®”¸©çŠÖ¤)ß?ÍyH$.¿¡ÈSdÒêÌ4AݺÍ&¶ž"i®Í¸‘d()ò“Iˆïâw–1¯ÇHÙfîhQئáÔ‘ VT@‚º‰Ä%$Òsî– ª•Iiqh"¦ÒÊ3Ò›A«Íõ! ÆõØ@ZV(ÓöbîKd0p¡»Zfã2aúúå%áL]¤+P°Ž[4Lð¨ƒFéO$^[¼È†Åšä™:»-~/±4[=ű W,•¥©È•Ç?K2Yü£KS¿ßEFg0!ºk`bDNæQΆ“¹£t,™ ¸ûFS«É0^ M±Ç"3VÁµ¢ &¬Ø±¹Ôô¤”ÂÀp‚²³¼"Œ>…/8?pÞõØý6æÌ4¨™Ê·^pFä®m±”h``d¦?AÝjÄ™Ž2¼wÌR$‰T
+®Í@]×ÐF\e0NRŽYæXÌ›¬²ÜŸÀ‚©†qÿ  °Ú^Œ LC€‚Ù(™zaëò¥¥T$¸—¶SÓËÓ¿‰$¼ª\Á%î[ £¿@~ð‘r‡Ä…‡qä×Õ‰2…u6(JÕ£)˜+ó…"ñi¸8Þ)¬H|úÎæ<¯õŽîiQç©Ò"òªæ£w^G¹P0VÜC6ÍÐcç×i|¼.
+}í·oýZG{Tª+L“2½@)úº =VËÚfUhÙ1­Ó5àFôôðûeίŸ6à ïq)¹‘LÚ…<¡4¬»ºr}³T\$¦¹7¼£ô¡Þ#Sù¨)–úΖem:z*±çéà‹ò×׋Í! V:×b*ÓF¬©Z¸ ….ð¯õl85L[`Ý5t4#!6Š¯2äŽÅcdçÉ·ÕÜ»u‡w¡ý¸ÕVÕ*ï)xÒ2d™’é ¹ÄRÉ(ƒ¨IÍ"wEˆJ°Â9:Y·‘Æ°XÃúÄšÁ¥ÁAK‘²Á³F»p ˆ=™”S›ëiÑëÄ.‹2¨ ôuÉãöÈdéQ¯aÈuf«Õ–“´Zý,~ƒ…]šÝ¶V.¯O]c3(pwWqCÍ*¬“ï× Ûa¡ÈDeÅøP]¯²*¦¨Ð`sJ¥è˜¢ÌкU?-øŽ°,žÜ=?rô²NLð¨Žñ‚ƒ6Gi=<7âèИÌ=‚Þ2aÓÔêšJ™Ÿèc·°ef&ME½ºè"å¹î¨AäÉ]Û«Wݪ¸AQTHo!†!8C“MáJàÉKÍu¢¬Ï¦CV(‚y|D+ö[Ó"Š#ñ]{;GˆjM#JJ\€©u¯Nç,ÃÜ´„Ëê †Èüù-Xê•dk¾ŒŸrYS’š!tí¡ÎÚΩ‚‹
+µ }íxŽˆT¡vvà Ç3ÒmF°“‰b¢ÂDpà@õè–!¶’ºv2YX½ÛïŸ~õã \MƒIäòÌW÷7au µÓZeƒ"SŠJßÓDEèKüÇB?ÏgÃY’sŠCÌ„>°V«Naú½Ö¢@£éhJwd2ÈÓ·¿ªÍßØ]²V¢Í³1ƒ5Öôàõ-ݽY
+i“?ýÆÈþ2|OÆñ!œñ4‹Bþ˜?™•…ÀšíõüâJ8ý¼«ZÌÍŒwÍ
+ß¾üu.^lîC/íü戂D‹ D«dv»fvO¡êªÊÂØ {wB ˜²‘ú<OR–Høåó¬Déþ'?ûü$"Š÷}þÇß}ôþwŸ|ñ»ÏÿåçŸþñþþ77¤D‘ÜGFtßó~;Ï>ü;}ó_-RüÊ}þÅþâc2·ýÅÇðZ,½s-©ýùâÁby!W‡÷ºF6¹›`Bž 1Ä·ì"¿]wÜQ]Rt]µ¡ÊwÜb/…«¾Œ’ê£?üáýqMãýGÿöÇßßÿâ“/þøé~÷ÿ}úW ÎúÚOMäšèßüþŸ?ýø£ŸÍÿÛ?ñéþýÓß|ü|ú§uÑšïŸ\áò÷xÿ“¿ýýïßßÿåÿúäŸ|öÅñ¯?ûüwüÝ'ï×ïÚÊ¿òŸ>~úùz% ¿1õ'¿øô“õ¿ùÝgÿí·¿ýâÓ?þZÿŸù§_ý•Á|þ%õe÷ù§÷÷Ûß~úøÇãËýŽýõ?ûü‹?~òùã§ÿô“?~òñÏ~úñÏ?ù_õt‚þîúøoø‰ÛN˜ŒëòÏÿù}/…X
+÷¿¸ †4qýꣻW_ª?S¢þ<}q÷×gB²Û·þDÇLE(.h†uA!ýÛ:˜Ë0+.IJƒzú1‡ õöUÌØ‚¸GhŽzçI}g™î±lN
+>‰ª9³¿Iö%™>b‡Bj¡Ÿ¯BZCLòP ³îù} “è~_PøU¹uï¤6Å€±Š"\;† Áçú`P˜òø9ÑY‡#fWÑÛe9-*yúÿI¥wŸÇòƒe6åè!4G=ŽE”óøˆ9Þñt•½u‚ÛÍ5D.—ñö™Õ}÷Û»¿þå’•Óä≵îƒÉêø²8QßÐ]mÊR‡ß a:-®*EŠh¶Y« AÌío£  U´ØÃpæVÓøk,µîe™ ¡º¤Ú/ðýè):w1Ô.?†1èRx)Y|2j7¿ý¼/§¥{f|¨í­ä#…ýZØc˜Å†¤r^ho§vò··åµAØ^ôÅg!ñãæåmà­©2pí‹àöÔÔøsŽ‘ãçöØñVûIûÕ/Ÿ÷ö«ç@õwÏÎú3KSŸ¼Ô³ ý ·y{÷SÏ‚îéŒ?â+Ò¯x¹Ù½€îäG„ýˆ°çö÷çYëki£ƒ9¯ä-ë65zn¡sß× Tsc“©LžÁ`NÅg</ª·óŒÚVO9=ÆP”{{ÕØgéù?t}?p}?h}?p}.³rƒçæéf6Q]¤Ál—Ég‡¡äÏJ-&j~§JClŒ#Kù±‘˜Ìµ™Ê‹êþD–o‚Ê÷R>&}œ(u“çy­*ý
+ܨs
+ózî`¬8hµ_àÍã?;›=¬!o»yø­ ©`°YÖ^~`…BQ|Mj`«#}>!7ÃûóX}2á’%úPQùøa¢òñEå㇉Êǯž›©—sîø¡âçæréúÅ0ÖPeZ s¯Šñ{ÔÚ]9%TQ(åPÛ" ~á8ŽQçnêqßÖ`µÁd?Ag¼ö¡ô^Mî +ÈdJE]<wyÏf{0f Ø$°½°%öoVEà0H?º^!8H£'81;‘kMy”Ó¶gKá­Å½\u`Ç°^jÚ‰ëÖÝ€n ‘ £qûpçŒMž}!,š¢‡ex,Ø3±Ç—Jþ2þMÄÕì>Kz1DÞ#»µ2¥Ó»…“”o¼¿O:)±… <‡ˆxz8ufÅBŠqj‚v±gÏ\€tÁ/)d^ù¾ÎÍÔK„ŽÇAøÚnÍäµ
+ª L§ƒÂá)íZ܇s,×ÝP€ŒµrU¹€?„ÕY77£œ0+ÀzvHºÜ§±û­ŒüPŒ(¯<=$Á·£`ÇŽ{Ù QÉ:I°zA[1QÌŨéþÉì\W$Ög”ðW†ÊøÜD½”=èxZC„ÛP©Š(¤)
+7¡î5ºþ•¹µ
+†N
+)bÂi ª9rQÞüƒ÷ld¤’#»5h'8¼«‰eöÕ˜\›‘"P£).¤Ä¬žH•,DúØ|­h#1Ž-POü Bsxy£ð4·CáŸÌ‚Á2[v1þ¿ÒÝ5{±ËBY”øUƒõ:6S/§:˜Û!KIùÈÁ1 ¬%µl‡dÉî=˜ÒÜ
+ÔE{ã†Y`S¸`•—®›ª&
+‹‰Äضn?šÄEX׳¢P>‡,ÃucR,€ÛÖ³+R¶ FÌQܼҳ׾´Seà„5Ìsÿ“â…ÇAÉ–ßÄjMUâk›‰iô\=r]yšô²H_2T›ºÛåÈãÄ^×3´üê1}™›©SÏ‹ÝqÓÒè)t¶c°FÓûXK­¡îÀG ¸Ã‹–%L´2M
+–¨æ»½‘‹¥è¢è²éx\F`:y#†ˆÄîÔ¶ ;ZÐÈÚ«[ç]Cc±o·Ù´93ãev/kʤµWŽëëØL½œÚèpnOøcØÈÖįˇ)®pö­÷ÕÈœI;TÖç°Û¸ûÀ§µFj&…KKrŠxØ…5·é;É&U’Ù³ëßæŸ8¤¾u Y9~1ç.jàÍ;1BÏ–yN×UÐh‘'Ð o“6fõ|*š–Ì2Ý~C±…#ï:º¿‰©™Ô s½Qmj/+êT7¯Õ×9°™z9/ÒñÀÈ·«ËÅ y+¦kÙ•˜ÌOTÓát+qNS´‡kÑ}‰Ã¸¬.ðØ$™iìòA:î4´S|#B_ß?™d,&+¡(eÝôD@>{ß Ž.7R2{&_î2j+fSÆJ•¬[¯^O’3»mû˜‡Äwö‘›™½,([ݼrP_çÀfêå¤JÇ©º¨ÎI¯ÛC4P7_3$(šë¡šb9Ú¡IÄ`¨‡y×›«ÕÓ€Þ˜Q Q,3R˜eÀtŒL“ժѠ¬&øÅ&OÅ:ï[åß^À–ëK¸KÅÄ÷4i-ç†À<cÀVò =5›´fé>%G‰ÎKÛ‚V‚¤Ên26Ø$n45¤jè÷é_ÖÕ)'_3¶¯s`3õrr¦SŒ}ôx¨!¶¸•¢ö_[N(.v› Úía§qŸî¦3¦8Øû°øBœÍ–L¡C[µ×D6Ô›s£Š*“[v|¥ŠÜÈÖ{ÙS1à-QÑÜjJ¿¦t6ˆH²ª¡èJæ.v3Òœ;¼‘m‡0‹aœšËX¾Ø.¢ˆ³{³¨eóÑ¿^`?›©ñ;Ï:¥Ó0Å–bÝ㔶ÌÑÃR­W]“rßRhÔ9m+‡³í„C'™·d ·šQŒ¢5±p6±2ÑõfÉÕÐE¸Þ“BÆQp“«Õ†•O±x…W«æ©GIY@oJê š2䘸åÌJR£]
+…r÷/Íbª@qVß^Ö¤—P=|2µ—µìãµ ê§s ‰z95Ô9 ÓwPÍÌï©[kpź©ÐT¹ÆyHn7ܘʋïLŽD)”Ü;ÀÒ{3E%mp’~…n•Ø·¾‘d»1ýÕÔíbÚKõ”æ:’k/Œ×Ñi'»¼BæÇ#‹³»ºK-¶%†ù¶{eØ;aÍ2k“ØgN/äôãÕHÑ”?[f¶]íL@yœµûW“J’Þ°ÇàáD©®«Ï!oKs„uT|Í{â26O/æ¥:iþðNû–`X·¥%¸åøBo¥¨5©žAÖ²R}í–•–ZÕ—KÛ=D3ãå”Ì*±#¡æýH°LMU+kÄÐŽ:¢Ír²‚½]SI,O‰l¥Y‰”"LðH[ÓÊ…~•´ƒ1ɼÜ8%̹Éغ¶MßiòetsÈÌbUœL®‘%ì%Ì#›=¾©±°oÈ´NK»ß@v:ýÚ²å’i{ÿÕéHN¦Wö”„ÁuFG³2vë*3»¾”·HeµÒì
+†¬2°ú¹+ñHŒdoüѬR¿6¬ÄM7MU
+F+4“š·:4éÃôëùÑÜ$@؈ `ä• px8G²{Lª•p¨*‘úÞM.+þÈ,®yèèQÛÁ)!N 3èÿ0@ÇÆOòbº¬Ó/€½e+ÄQ¯–«çÐ-à u‡¢Nñr8«ª¥x•K¯
+8Ÿ6êuE^Jç%E„ñ©í^ï!>öðåP‘3ý`ßkŸæçðñM4 Ü›Ák
+S(š¹àVcž&œw;^7 1f{
+ææõÏ^HóÌbÙêuà¨^(Ätõ9kJj•’]†çÆU i(6dÂ*mhkQÏdBwh<ª©KPìÍéXÝ&Xâ‡:>";ž¬øJK±‡IãPÛ¾ŽV|°5›%µât½è™ ~)× Ü˜¡È
+Õw½`RsÚun'-Ã÷6!*)›Ö‚EÔ
+ðŸAC/s÷ o'T©}Ie¿‰|<¤ŸO?Äkú8Þ…O©õxÛÛïù2º¬§_­ØÌbÑß‘_½.øõúÄhtwÉÔ”ÁI@¿§&†Ô›I5‚h43ïü oØ[7?²ÖM-±úw_Ò‹æ`?ÅN?äCû]ôÓÛOyû¥ßj“ñwO'õé´'oñtù® |ÁÀÛ»§0y¤ ÖÞÞ=…ãÀ^!paÀú`WÅ yE ùûã“£zÀž<ˆùþý‰i‰ãþ÷~ä3žûø!ÓôøÓôøÓôøͧéñîK?ø2!>eº£ÈlÁÄ¥ªkØŽœÉM%³sÝ,"aFk(%Ýg¡Ç£r幬eûá,Ú(ÿðèGËåç¿­4¬å$ÚÞEô‡@u»Ô••Æ’ø9ßä bâXô™–ä‡Ðº¶-Y‚&;P×Í©©„T©4E¾×Ú&åÞ¢íܹ¨.bg9LCbƒ›hŽgôSÍ’J¯‡:ö蟾±¸yüqóøâæñŠ›/ÿVŸYÆŸ–·û‚Ì
+š¤‡Nn!~ÚRÆ÷ÿ*ÄÇå[}6œ¢êC¹Peˆùë’HãÀ$3“Yu_v(a®ÅkZÄ¢ÆGÌÿFO£iéíHöb)°í’7ýÝÂ{ä­b/Õõ\ÿ~l•ž”YtŒ£æþ»¹“_ô¸~ðuBNSF× †‚Ýf% n%°³N^ÀLÜ•¼²;€å¬zƒœt^àÕIeš"··>¦H62†à
+ä1ÄnÕ¿¹(kÒ•Ó”­¨ý9É7’FS[¾BQ*£ò¦±£#ÛA==½!
+0j<)è›4¼&éH‹›oõÙx))¥?®"L]Û@pAô>ü
+;²Ë+%†-ïªzþÃbE¥nU/t;¢°S×Ì¿0>TÑÉ
+§˜úìáï,rOI™0xŒuÓŽU‡¢ ¦Š’V•GIœQ@jPƒ5´cÇñµ~=ñîh<ËÈáúͲö„R^ò×›¥K¤$i€c® ,—´r¤æŸµ±N1¢‹vˆÚq{žƒ‹ ’³Ë¢œP°,—_ào?ÕçâeŽÇÃÊ …öˆd9Ô¶(¿Ä¸r1Puw‚@ÙtVÏÍZס÷Ñ3ÕÐY­¾D$Z¬¯Ø܉MÅÅ0ð”›[Yg<ºÄ2G©"Ï"Ü¥ËA Áž×ÍR¨ñKÈñhéQî§zDó$s°#¦½¤nl–Å—²˜üÐÁ,QþCÌG6²s ,OÅ[,©E ÄGOã+;OÜÍ2)0ÿ: yó­>/ãoô‡5e™™FJN@‹ˆ„
+w¥ô,T7ˆ_¢ ‹ÂÊv²=‹¸MyÛhlB‚p¸A¬—ÝV&°u`5L+ÎÁDA±O›…ó•X·ŸêsñRÖÆÃűÞwƒ’2¯Y{[ ’ZÚˆî’hÄèZ¬dR2†Á¶Â*îRÊz9´ªd%*ürvíÚ<ÅsæÐ窂˜âpRå!D.œÓFL ‘kw%À‹í2Ym
+ô+0€PÝH&E#YrTÎÙÚýuânVjS„¾TÞ|«ÏÆKÉ ¾%2)œ*Öj$¶Îcï3oÌÑ0¨*cf9Îü¥DF ‰Í¹É¬fè|Öu™:ãÚ™:Îï"ç)t<
+½ž’…ù…È0Ì8FÖOÆlÕ`Iä¯àÊ"ëw¶êiÎIF‰aûˆ Oçñ½¤¸"¶lhòZ —X—#LlHÒØT¡æͤ ™££¼@^¾Õ&㥼„ÇÓÈÊîR2Ûì[êaœ…ר2Kwä ÊÐÛÎ{&.²je¹Â,Œƒã'*»"% ~ñu€Fde+LÅÕZ–¿€Læ@ŠìãÑñ9+µ]E@ÃÓ_@Ê÷t#Åñˆ?Š,ÅT_djᇡ*$$„ò®CñEÛf|W¶à?7‰Ç˼¿ÎÛÍ:¥òJ,ïë·úl¼”PðÁ¹oP²¸˜–U02T¸«‰8ºèa.°ÁŒtãB/Ö]¢ì´ºÐ‘$E£ ±%Gƒƒ(ÛÊ7ñE¡b´h…†DêFŒÙP=g¦ÜÔŒ¯Ké\W•3ä$Ø¢èˆ"»!*‘&òd|?FZz”£„%Ó>¬2ì°º a©9ˆ¨Ã]NÄýA(‚%“a>ÎnŸ¹›¥2B WËÛoµÙxàñ¤>vF
+‹ÛØU˺—%¸Á\¸Ãú=ÑL’el j8ôèîŠ×b—f:½aèuZ ]pD.5‰InÝÀÙS€Èµu:9@Š’¬z[Â5¡0]šé›ªV”Ýeçá0ºcÈÃ6/£eRä¨fzèQ ¯'ùéT°—qðÏ|Ïšt_’²v1»”­j›¸›Eª¯èì¾ýV›—úgÜØP‰ú<úAŒ)áÈDx2ÁtÀY! T'…9þ«QWBÃà-ëÔ N¦¤¬~L^C(œ±Y¯Ùšj~S·™H1D ÐR÷$Ü W\¤–$„OßÄ$™ЇÁ½ApŒâåXº Ã;Q#Úȃ ¡8•ìØi¨DtE(6Å*£¸b¯w³Rmö×Oò­6/¤Ô; á&B=oãV,\Lúðl¾: uj##]!*[#™4x b’Ëd‹Òþ+v³–‡ºšÓ4d‘,D!‰‹Ôk€¹)o¸´¢ö“DRÕùW–Ä…!6U.Á‚ÛŒ¶ú¥5ý
+š.4&V UõÈNò˜¦Nò^1#ïL.ÑfÀœÇv#ßG xÎV³UÅÝñ¤Ž~l†P3ËD&ó(¹ô-ô2@4€7I,Å
+‹QQ Í›Ó$µ0PÀ·elfᇒq0è€ 'tÂD2´ Šv­3ŠÙE$D¯NʹƑ=˜àb§¥^èåfò3ˆ~K³
+©$¦P'ùmRT5c3ïª" (`ÿiðÄKz»~/c’ÃÑ“¸ˆ¬Y`èpÓgª#1M}Ó…‘OÇþ0îê€Ñ_¼³(r;ÈoŠr1m!é
+YrÈMdTùåÒ$Èõ«uB¶î:f¡Ö¨š]úü'݉wšÑ³ðØ´ž¨L5
+<éd.Âe,cjE5üÌ‘ž2k >HlHð¼¿Nø ùvÖ Ö)½…:øgL›&ᬹ¢œÑ¹ U9DfGUÊ£ÌczVCrt.²`öQŽ"úE
+
+TsžCIHÁFÍìbPmZ™½’î@aˆê!¶œÃCª pÑ‚¯9…ñÂtÐÜÅ®ŽJö@…Ÿiú¸¹ˆ+MèÀŒkÉýˆH¬Yö‚oä«ŽT_‚5>9r%
+QY Ë?ib€ €Ñ¤ÖÀ‰^fxðŸœAÎbOtó€¾ µ¡9Øõj·³þ+>TñoHgŽRJCÁ€‡Ð™C§É-¾`B*2šž0/ø9‡°F‡!¼ÞÀþÉ3d”…mrn †€ÿ"4!ô2Ç“8Š´§™TM¦&Û0\ó>Ô‘^6DÊ@Gœ…ðëß{Q¹Kµ@&¾¡^®ý;¤%Œ„˜i x[E]³ìlJÀ^ê÷
+5q¨Z2?ý2­‚*s
+×Á1{Yrt[
+XËJ§ å6?¤éVËhæßæ¢ 9^3DTXÍÈ~òò/ä±+`ìñlQ Ï u2ø0ÀYn‘õ¥µÆ'îWØÀÇ\€×tH*™%‹˜^N7Mw P5ä¬Ub[IÚ¼xÓl7¯þRººg m(ØéÆÔ# 2/i*vÛ³#àuK¤W È¥?1$Ÿû®Éç (íœüGTž·ÿˆQ|ü‡4p´èÜ]¦P=.ÇQl—ô*_@ž÷ûr’³"Ô£KŽ( |Çåz—}Ü·¿„?Îðþ=cË{b} ßpÜw‹{j)â°qßI×E*Ò3C°ÀÛönß÷t ¿óvÄùšÉùX6a…q®Ä¸¤ž“"w_ƒ”âx30ôÔ,“Ç;I‚ŽJïî”6‚L+Tý¸,†PÌ…Çæ{9î¿?Þ‰Å)~ ¢nÈ~©žŒÂÈýÔ8aþ݃öQÓZŒd$”¡ô›=áö
+Šî¶¸qaÖlÏ ›çD /vQóµ‚ækÅÌ'6»3eœ#úƒyã؃ Xr<nüìN¥>ô,Wû·MÙVÕ&IGÞ¹
+Fü÷.PŠ×6Ùð§vß\Ú=~ˆ´{ü i÷øU_m3óR"™ý¼,² •ì ¸ì"q¡fÅÖ'@ £ª‡©ë)e½Ù
+ÝJ¿•NåwZ†ZÃ+Ô^._m3óR¾›ÓóXª.øÑÊÙÒ˜ÿ8LUM1Nþ+¯Qĉ¬6Êš\öÙxϱ$y[ÕnŠr7Ê·8«é:ÖÌñž¸5Þ£ÃÅ’úÓweM°ø4vƒòP «‹©϶¬Ë` µ(ÿ­He%4Fzv ƒ){Þ†—Èœ&-ü2M·K£Î㯠—¯¶™y)ÛÍéy¬:¿±Ñ³7àF6U‘\!m„¬v“!Ū-ùÓ™UÿF#Êð;Ô¼(5Œz@“ŸtMfКÆYÜ.®‡½‡©œ5V׋լvëö ¥ 2Õ,T6d6£;YVÏtõ¹9?;2ïìˆ!cé2¦ÉÊVÝîn:'’;’Òåd6ÜXÞ6›—dù«ÃííWÛ̼ çô8±¹hðÛŽ¶è8´
+Ílùlx £÷À¢‹1[C bRÇTk“+ØYc°eƒ@BÙ˜ð Æ#™GK¬öP;Ëvd ç“(‚¶ç.RÖšÏG¥K°ïZñˆÓ$×fŸ”ãD}%K)Þ(×ÝNú1¶?#Z§å˜ÍNç÷²4^xZ>ñ—¼6Ð^¾Úfæ¥l9ûyIÎŽZ7
+FÛ²Âo»T¢Äi‰nj™Ël÷ò™èmî=R &l¦í7+”tÃýƒ$–m•û[= ×–í¬iÄ,iÈœ•ŸB» uÚEI%^¬mõ>ÒkÍ!‘,uû:“·«K}…˜½|µÍÌK)wNÏã"š¨ef,Ö…|ÅÀj3?h¦2¨™6ÉìRe»²U_½_«¸¦)¤.øºð#&M ¶dYl°˜‚¼Ã,0 ÖÂô³w©®“°!Tt/1ø'Í#«‚ *Ò¾‘¤»G<TJâA‹¾L&àÃy5Šç*8j+òWÃ${Ö˜»÷2—·ë^¡zpóÍ6+/åã9=/íp¹e¸û;¶!ürÕO²6É<4ød‹ ¨|5
+ê ,‹¢h5÷
+xYæ™å£ÍY\CI„ÒÉ› Mѳ£Ã½æÍŠF=I}`(0hòÍDž.ä毮O¾šóòžžÓƒÎ©„èôaÛÃâ´Éåðîd¡•°55v˜ò'›ÜÛÞC ¹ŠÐÒð3~‡ÒºÇ÷,ZµÛÕzÂRYhŠ´ž§­•ç©ö ïº1_D3£ì•PZš=¼ y ¬êUÁðœ\¼$[ª¢ ÑÉÒY
+D7Ø0›kzXئ¾™ËÛ…ëÏ,í¬7ßl³òRŸ“èæIllËÍ–" ±Ò`“i2îMàn˘•ü<IÕâÄgÉ!ˆ³¥ ã¶=‡˜UŠÊ³?y— b!æd ~¹O
+£úƒº‡ Õ%’†‡•à½7_9¹
+«5[à{ZLºSšdkâ<apmáÁHƒY¯ßáºÉõX½GœT2ýT/¾g¬[9ÆLŒ¥ˆd£Vàæ³DÞÛÙ1Ϫû줨îÎhÖ*s±”Ù ¶ÚF·›T«¶ •·8Œæ5‰å3¢¨ˆÖ›-^ÖÂðø±9U–2I¾9oóľHr,q³"}ôʺÊì:9•luØdz»b ú}I˜hÒ¢søá «àhí¢‹Õí‹:óôV/¢z}Œäê³í¹lZ˜]SüƒÌQ9 Áš5=Yo'ZúÀ>êŒ{š¦0ÀÓü™ âh5ž$Žyn`f;°YØ }­f¤ÕCÁItAüúhŽ^KR-›¢…ÆV3÷l6›è<¨XïO¼Ê4x'ºAÛò¤ÅÐ5<YQFÙÙŠ;)6™iЛù„5kdx®NMî0ïXu½*º^FúÝw;m/d aº¹™-&_«ÝØYæû G²ÝÑó•†Ñᘠ·ÃÍ9ŽxöRè§UœL]C¬ŒO©b4y ÏvÊÃõÕõ¤M
+öâ<«–¹ØÎÃv>V«zýü+ªp-N/¯ÈŽæê}Qå~ëìUföÛ|Æj)‡ÈœR…É_ä©’³,«ž²­&+Œ1$¯Êg»·iBÖÜgîãÉ»õã,û>‹¼‰Õ˜;ÓNJ%¶Dï°fEšÀ®o1(Ú&¨pì*¤–ÈåÍÅ(˜È]lÌK†v®;è>™¥0·0~ï‰<ð kÆAX(Px"&+×yÕ%+Ü)¨¾ÊÛ
+Óc¹æVˆÆT`y
+rö[”·ÕS]›ÄuUµb|°¸E Ñj‚‰êÖvL6ÏsPBôI+¢>6-g/i©F“­«¬‚Á’ÕÀ°hÂÙÜQ-»8V,…!W+ÔIžGyžÊó`ŠG¡gù¤Vk’k³Z>ü¸”ÐÑÜû“ð„õM-ØziRl3(˜=g*(~ekž­$j±Ø$gØ Tn¾ã¥4=_b~©5s|àL3Ý~à¡8{¶jíô ISƒSpÏDò"ÌàÙ—Wú‘Òç;¦ô!P›8}Š©òÔéŠÁaOý‰ºø= y¤›û?ÌÓ-*P±«ÜŽöÒ=]ô¬õ_^µÿ`Uƒ°÷úañûÀ® K³úzÿ÷‰ÞçÏ ö`k-âB3ñkcYM˜ÞÙ¡m&ÂÓ±ª¸Ï»ó½Ï qF—±ipÌä„w£Y²“iÁã(€ûa¿\U®·¥RåÇò¤Çè;{µ·W¿µ¼ü0™þ §HµÄh­|D§L9ïé*¨›Ô §¼Ze±löá鶖LŽM;¯ÙWoZ½3°tö_ñ‡i¶ôžÑªÇ>?vZ¡}ïscIÍÞ=ƒ£ÿ9XuÞýíÝ_|ô³úñß}þ›wŸüéÓ?¼y£¿ÿí§ÿò»Ï9r V0hµë{×ÿ†ûŠÁwÿ|÷—ÿý“Çÿç“YàÝ— Ž_ýüÝ/öÓûÿr\û7”Æáãuõú§ üÑú¿_ýÇ éÈJ†û{ºÙ3øŸ£f'·4™–k'\ò]ø×5ô÷åþç÷ÿøOáþ7ø¥_Ü1Vˆ:’ØYy?“I‘GÛ‡r÷Ä-¦÷ž­êœ]uA@ÕÚCµ».©è§žÌÌÇPm ÊEÕo<r¾´,õS±µéT¿^>ˆ5†A°k_‚×aNÎ~ _Ùr\n¾ëKYžù~ÝŒ"˜b.þµ˜'±I| ¤š-x»GøÚoLßOɃrü’ ¬»:òFÉf׌jÓ±³Gü—öÀ~™ýßë7½ýªï¶¹ù‡»g&ú™Å˜—×yfIŸ,ûoïžÐSÝâðíÝ3P}
+ç§Ø¸å^êÐŒþ‡ÛíðѸ‰Ûê&ëýF?ÂHÔ@ûëÁªbÈili Þ¥==+z0×虉{ü‰{ü°‰{ü‰{ü°‰{¼ûªf‚luÖq,ó®g/ÈI™#mw¤C<#§j5V[â÷h§ ;句e¿eS
+¨}]Lü¸eqâغ±G)ƒoHпtˆÎ=ÙRØa”OŒÕ5)ü¹ <ãˆöaô¥b¬
+qèß«.Š‰MR’˜Õ9»â«ŸJ¶Ã4•Ì–5#qLõZT¨Guò+Noa"lSžnï?}€Èzü ‘õø"ëñƒDÖW¸O"«ÃK7»Nìd°Ò¢ì½¦ª£›“a½T * (¯–¼È¬]Œß€&¶à {Í)¬
+±2»ØóÁxŠ@@DCv$μ§øi0Ñ0¦ú
+tl€8`Ì“t×42¢F†u;iJ݈ìP¬ È]‹½ª½
+CÀ6Z—á%HYd'\ƒZ6Æ8¸fºíõh¸·w%:‹ÆøúdÏÓ÷é1Ùãô]u·&{N~覘̭Ôi*2Ô™ àsUe5µlѾ„Ó˜çDCÐ#ùnÙ¸RGbè£>¢Ä‡B\A@‰#h„óÈnëȯ"¦é¼2pÞ?ÌŽ|¼U¤çˆóv+öÓ+:Ï}üu‚n¦‘…t Q*
+ìx°˜l4ì˜Ûý1”?ý±If4²ˆ ß JŸ .+züu³5DžU‰hAî‚e²‚)ŸÚ>Òäx£ßÊ¡ ÀÙ¹PVdâA3Ø—eÚRâãëGK7Ÿ?Ë=GÐ
+ ƒ9àh)/ù
+Ñ=(SŽÌP–[š¶{jš³›œ=ªÂ úF’Å%m„;ð}@pžÅÛŸëcµŠhÜŠ@0MtCgæ*àñ†YFÞm¼wo!‚9'°®‚NErsâÚýÓ‰¼YÆì…•¯ ¿O?ܦÇñk¶Ow…×Ry%Ÿa±®yõÉ+%xü|¹cÁô’”q G ’ ¬ŠïÕ°¢%µ6Ö™Êôè¼<äëX&t”á`vÃ¥Ù¥y¬Ù 30Â}…Õ*òÑ¥ˆ:ø¿q %
+ÂͨRb,±!J©Â5ÕLJ†•Dp<ˆ§
+­¯8ióJ(M£Ï¸™½XœÀ¥&!à†§Ù,^fØ•êN+;†ËÊp/ëW[yÊïÓ·é¹wû¶çîˆ=rPfŸ8„N:
+“\øBBrq’”_æªbÄX×&iÜxIPÓÂPÎpÌhÝe‚ÉøC,@xRa­¡X‚F#î{Vö†Nn¸¶ˆbí¬>²›Ä#Š“ò1àð¥•Iš‚{ œîðpNÞpWˆáTþ GséÖ Ãtyà÷Y‹€t :Ò |»ˆ0Q©
+S«¤¾Ä0v¦nÜé`’;-e÷Úå׆áë‡Ûô8†-²0¶¹æ‡ ú>„‘¬1F²Zörª\?=–V” \@í+ëÑš‘ÍÇÁ¤ð¤ãˆZ½e^&$âû$·éFò­2Ÿ\ï@p£ù–Õ “ZÍ¥
+)HD¥YÔƒ‘è0~–•4² aë'Æàb &„Áˆ
+pÈe–E$ˆwF±‹¸áÙp¹ x†Ó”F`{²5Ì‘ºûÓâ†V_£÷ôÃmzÂ2׫÷ÎùÎÛwÛaW‹Ë3Ð0¬‘÷h‡œEA‰nÌfÃÅ™¨>†@Íȇ6Á¡ÊûHʆI€ÉG݇té ÂRN‘»åÎ]²·5eHU’º!®Æ´¦îITÀ4ûò!âš•©Ò­e']¼lœØP c¬XW…2ÅD†"…–¯¹ds ø½”=§^ä,fÃÓ#é>€˜n‘Y7çâ6óe•š¥‘ž×’2ý5‚øúá6=b6oŠ½mÁÈ*€iqy&[܆âÙ´85§2'(ãhDq§c-ËŠ2c®²ÅíÛ†ôF9ÛPç×.# Ãx¶0¯]„(P%f‚K:…TßÏóàHépš5DŽåëÅÝ éA~´d©È¥BaŠ#”ÌŠÿeë2IˆHª*óf2ù‘2óü¢ŽëÛ‘Y«nf&^rƒn@:^¾×8[ïYïŸâÁp找ã*£ç ă¿Õ¬ÝË-ÌŠªú³ÎŒ€jé§ 3$»‰5Šq› Þ°”í>j¬Ý’Û'R¦7ÞMVþ·˜Î»ñù1ÿ+S¯í–Ä›‹|š@a ´œÒ/–-c’HVšéJÎB7&Dú-
+èà‹'¦*Ê[P˜
+‡ìæΓU%
+BKŸŒx0z&ÌÀ9B ÎrÆUÃ8ž¾×83j+ ¾ gž€¾RGsY”g²³øC­oœ ‰*±fUW´ðã³Î2EÞ©^©§I8‘g æ:«ù¯Èx)=ZÈ* fu :_‘ÙÆþlp xÁˆÖ9ϳdë¾$Ü70Súh1e¢€ u:ÛÜäÀ4%ÿV%ò$«ؤ•Á¯]PY~ƒí!‘~­+CågH±¡Á÷c­_•€Á1f‚j7¤M/¶ûOxài×À=“áÄß®^ñDú?Ê©n¬m&Ðð'ÆX–akMpd’Ú]Öwmv¦ˆvëe­]áŠ_g¨ÖŽÜ7K¦U9t<éé²0áx†vÅ
+:;/°dË"¬À˜ÚÀ%±@qdªAV63Œe¶ìÁ9`î“qd*©…ŒÕ‘Tûr”ÿ@a-¸„‘¬Ëé?`æår³ NןvBúѸdG*7Ý>°¢ˆ&°Âô`‰•µºGú=Â8m8Cñú¡iu A‡ŠÂ`å£ê¾™9™‘NR”%©Hfñ¢†L‘©L&á’#ÁXkŽ†ÒìŸ^D‘ûÝ­(š°ÜÑÕÎe†¦‚¨Kˆw#Âym # i±”4Ü<à/Óøh c‡ÄÎâÝÉ:»yסï¤Å#9³µË÷Å#â3~e+½µª7b!ëØ®‰ 9AŽ`¤s‡êlVŽÄàøƒ?*ñ"ÜÅ=Š„&ïÑ…ÜÔŽ ;KŒñ¨eã^û®VgI
+u׃ëwZↈ[…›f¾ÊS½îOuJÛ
+ ª?ŽŒLB‘U«uµi¶uæmC,‹LÆJC¶À
+G,¨JÃÛ´Rég±'a…
+ _USÕz¡ÓŒ Šódk˜Êb/I;u­z:ÐP*epMÅ«´31=!%5­ ”“ª–¼úM%sÑhü±Ñ¦6Ñ™í½Æ°Ï9frŒ„;¬
+g挓ª(Yy¥X–éÀîŸÀaFc× b¸<•äƒ)aþšî[ŸÆí¥ôQÕ÷É(V‰Ãkª¢]…¼Ý¤j\Îd^3.¸"ž,Ëã·ã×+SAþã%h«ñÜÔÚä)U°µ£DW¬Ò3þŸ¯ñm7,ù-k>4nvM`ð&Y@»$ÑôÂHûJ^’€¶âLÐk8žÒÈqb;Ÿb”ø–5/šÛâ¡=¸êºd{d*ݺ'sðø­ø² ¼ð¦Ô’áçV¤œŸÅ)ÖÑ'¥˜µ×ZÆåñµŽŸZ¨ðùbŠvïr´Òí_º;4 «Þ±5Œê¡2ø/œ,šþÙÄ5º~Ê—ÍÐ7ô [ÒÜ°’¦(ŇóQ­ÁÂÒþ4RjÆ^ÿz«Þ&¾pÂ<urÊ85Xóå es4ߌ½¿Sï2_Eë÷)/áÀõÛ¿;§ÔsS鳚ÚCi [“Ô4ì’aœ±ÍÊõ8V5eä!–Õ¯S=ä‚üî¹ Ï·*JÈ=D«­¹G [:…­R6[𞤎ð8ÂciWŒz}Ä1Ãoݳ‡èÉæ·äSØsúþUä‘þ&ºb¿ê~Äí÷ü°¨$ß裾ŒIÒöÎ÷‰Jò>å<Œîy&É+>/èì_ίÆf›ß™ß—¿ƒ¦qh"úH®e&x Qã³óÔŒ¡%©òiÆuŠ@6™UGX²y8’êAöØ;º²ä@ÿ
+lcLk¬ïg'%ùo5ÆSÒ&j»‘Q•¼%2Ø>`‰ü’û"¸°³Ü¾•¤›(€’cQ=<XÒÆ2{wËS„ïNÿܘ/Ð{£ª‹÷?==¥åÝ á<ë±'û’Æ…µ÷-xT/‰A)rD ßÃ
+ôSå·¡XɺÈiQ|DZ•ªã"¸‹˜ è48 ®l·í±iŽ%ödÆêTþêåO6òH*#2¸Ÿ®šjê̘¥¹T¹ð¯U™LÇœ ë&rŒô}×à‡¼}fz}òÑ¿þå:Èý/Q¼´?]ÿ÷‹«Dùè‡+Q¾8ÍÇ™¸ÔIz?€½ô s$ë}J˜†á²ÔÏõW £Æ-­—\öˆgi²wÞ jóÈ‹zãXñTyÕýþõ¯Áê:‘Lz>!7\ŽÕžŒ@‰¾ù¥vz”¨ðIÈ Õ+Ãåqú¤/ã"}òÕú[baîé Ô‘"ešü+w/¾~]Kî¸=à/ùöîBˆª\S=!æË;úÀ[q¬:®AÆŠ¾ßŸsŒ?¶ÇöùƒR½ù’·_õ¡\‘O§ò¹é~ò
+Ï.Ýuy/x{wÁÈS•'û Ÿö¼ú¶ÑoÂëô#D^Dþþ¼Ô3•ìë ®Œ æù-ø`$Ú@¾ƒ!TcŒ||Žá™|þµlmOC©”vs éNoüø‹ðøa‹ðøáñ/Âí \>ø錜g-Älcð!"ŒgG:ë+¨¿’T»‰Ÿ6¤onH¢âÈ°*\æ’êšVí£ú°"éç{Ž±“>~¸‰³Á~Ža–5Gà#Òˆfše3r¬&+G@¿È®k¨@*`JH%TâaCbåËaiCÓEìæ„· ¥i ©÷Šï÷§¡Œù7RàOßTž=~<{ü0yöø äÙãW}¨MƇÒqí瀪À&ŸÝ µhCE1›´²ÅIhDtxÇ)4ÀÎÁÛê4ø‰.o]“¢öÃÖ Ž‘¡+Àg¤-Tõ[ ¥ŒÜsq¸`Úw¦ÕY•È fWDŒ€Œ ¶Pøl¸ÄXtᇆ)vë¯ÍÊõ¬K‚u /…¼­Ú ðNc„d•@,Sg0rÚkmš\bé9‘O‡“=dÐnÚ%››±Y| ó0w¨6-ÛÈ5&ºkĘ U5Q¤oÀE¹­. ùû¡k¤¸$)Š`¬ù×±¯4QÁÖ½W˜ÜBR±ðW°÷.j“ñ-1‹”ÆÏWæ¸ØÃDl—µêê5‡ÊÊgv”wPu®±ë€d
+k$t.®EÚ×®?Êõt&4œ=êb++Œ0+OËÁpÆ–áé²0iâbÍ÷×™¼¬á¸¹ä ÖñÌ\|;<d§‡æ%«Cjdé"QHaJ@'¸SP†éMä X(:""è¾
+0ª¿·aI£+·–ç2ʺ×nñL 3"¥~Fðæ ¢r€f;‹VŠy¶BliSxÒ-=^pÝ.‹›©¼¬â¼¹æ ×ùÜd|Kd`§Çd»8;f°ÉXj&~@Kñ› š­)sS“®:“%èÄ2ò*Ê.ˆ;œ¿„ëTv$» l›¡+xUÆsw=n›âÛƒRX Ìæ¯è‚ÅßçE”R¥@pmÓ|ÊÔc’üÔ‹ó%3ªBN*jÀ×,ÛcCiÙÕW}°çíñ’Ûe4|ýðñzùP›ŒoƒüëäÜõÖ°¤D‚¦hàV¤¬rD$ŠpPÄa†ÃpM€UÚ°øgX4M£(Ó4Y̱‘\`×\841/•dª€xèÞµp5Í­ H'é´ÀOŠ®16=© éâZ{5CžÔo£9
+³ïù¯Ð[áy§ì` U®û
+Y®“y»Žêö
+
+Æ>ˆ!Í ¦Ê–„W¦é›€UtÀêtè^­&OKèBð”VÑåÖЊϖ2èŠ*bF†Ît+øL*ªbÀÈ„É÷¿†ŠŠ•¨
+tl(³ùʹ<¯bqåú‡×'j“ñíwžÊnk×iË0³¡“Ñ%.Œ¹ù™>¯„†²uײæûšµ›Ü*RAÙ°†ú@U•ÀY»bwÖ÷5šIp "Äk·€WNépÕš0¥¡¦ X&~ÕR›S6´q%±Ûƒ’§u >­Ñ”Á`VÛdë ÀèÆ$[‡®Z¶à­Ú:-Kð´†éÿoïÛv$¹®+¿ þ¡^xŠ>÷ËÌ“Ô–
+„"FzÞ>‡&´lz;6š±qžÆQ•¡QŠ%¦,©bôK”3y…ðÉÎ7`ž;¨qyö]¤r*.𢮜5~>õ/Ôø(–¿-æçE…‡ènÉÅ\½) %PýðâìÙG™øJÄŽêÓ-È %4´
+  ¡bZŠuDSÖߨ|¡ 5ÈOhÐåYz‹tãTÎô0«‘èðŽâX³SbP»µÌº”þú¢ËØÛ/pp’¯ãÏ ^ÂÑ¥÷Т2™c
+Jì¼?Ôw•=¶µeo4R©–}l¡)Öä*¡ÔèçHŃŠÆÛ˜¹i».3½ýz³pªq½ âIÅ/May:ê¬,„¤OLÕØåU…iDäx%Ür̆{ÇóÉ4í
+ŠŽ™„„â«QÈgÝ55zªìiÓeë £©¼Øy%¾«½û‹×ŽèÅ
+Q6¼è²x$ôb£XÇßÝ
+hԛ么ìfI;x_Ed&|õ".ùeY/è‰(š’¢%zVh…UÊõ¡•3He/ sÔ)+W†éù6’(Á©$m˜¤õ=×Ø!©ên³v,cZïb¸R½¼[BÓªbÈfWT{Ó¤h¦Çæ©z*7DI!'÷ܦ-A¯¬óZÞˆ ·ÜŠÔNžwÈÁÚ£ÙûÙÂÇÕ‚v¦­.œ£w:PŠ]ñ'«6®Ý”`*däEAZŸ€Äû•dÉšÑÌ bŠœvbµÛßÆ°]Ŭ’¤ú°nOa\ +Û@îšÐè¡än ¹ Õ‘4ê¤ó
+^O¾€a8HÌDÎZ+‚ч¦anOðI,G¯†­8ãÊû
+å¹€ƒ5Œ°¦[’/MÉ4Ì¢.:]¬‡e?<ó²MŽ Z»–tÌF±v*’ªÑí"Ã%^+×é$…Ÿ ±©ïÅf˲ÅÇ uÎ!ÜN³Ý¦1 õïÑ,.±Öc¸Mœ®8`ït҄ઠBpÑh8þDª„g‘<1íÅ$ ´Wx«]‹>k3<- ŠÝXóJO2?I6”u6{H«Ÿ??ö³"¹/Á´VÐÈ^Êj6YÑîql´k×O×·œJ¥;·`pP€X2%;~¥ÉJo¦8ãÊ
+ð21<²é»i-/V4Pöä1»Î w¬dÀ]5»OõQàPUûÙ.ù¢°ùé´÷{;ãœgO ˜ªÀÆ"N:
+¾Ó]t”[xÒò@=š?׬Ý~S‘ön˜ž}d… ?’ນö5£t÷·á†zÂ'½îäøãõF5hå¯Ëvž¦]åôù×µ`mØ»‚¼È°$c§nä…4ê{&RX‡LŒQëol–ÞdÏž"™ÿO§ÝP—E~üÞú{ê³þ7ÝërÅ»Îæ]ãºö›+;søÞá~dŒP´Z‘{‚Š«´é·)T')Ô >úþ|ìýùÈûóqwb|jdĵB×dÉ1—‘ Ê=T@„ÉXÝ°~\$sÇJŽ‘|xÉ^+¤PènÖ˜É@a{!K½Z×_°üEÇÈ°³–x“ȶÊ{šÙÒ°AU
+}3åp5Š8Ìóð«ú\‡›ÓÕœÂYðèQŸ"vº¾(K8±C€baB'>÷¯X‚ b’%|
+Ìã '|Iü)6@/ØéÀä}¸Tf(ï?é¢í›)"àÕc8†Ë´.¶‹¿¹ ×­­‹í·ÿè1_½g9|ÙþåîÚF\Ý®Ëm}uw}ûä1˜^Ý]Ý5h–Ç»p èÃ,]ÐD}÷(Õ ì^`÷Ýa÷óÓ¢àÊ­^
+ör\J.(јËĘ] ¡h Å¿×7h(¦h; Rb —“6OGvÈI˜
+áx<ïÛ×'TÀ©í®,É•…;-pµ¤
+ •›ËsÓìd“k€’¬â" h¯Òt¬-áœÄÑ4C%¸<hÚ‰¬ôõJ¨ËÖp¥ÂÑÔ+œDzƒáÌ.5‰é9RD™b¾žâUæü«r©F¾ìj®ªWã->€™£Þ1Ö—\'ø^xVeò7­x’³@Jò]×|*ôðõó›ÅÎÙùh“’¯\S¤¦{¼¾l¦é¾ =ëÉšŒY=öiN¹HQ‘}‘óxY‘¦ábË2d)M€æô=Ž(¨E›i%ÜQDŠö»°¾É ¼ØК\‘œÎi·1¯'a¹Ð,|k×˯~è*îÊ’\Y¸}«¸Þ–nA—5
+ªqìí¹dóšHâÇo"¿ÚíN`ž=àÕÂЀ*•ÐNÄ»9²Eß„A î2¾“W ¢lÅÉTHQäø£Æ°eϱ\“Ó8Y¨9o‘Æ[F îSî2‡~aŒ¢Þ09°wFÃ#ˆˆ5Ö™EdWNÌåñT.ÿE[=±¾lÏe =\ ="‹0k.}· 7Ì&–#@„*]J
+| HrUZjF“¿pî*«‚ï…3;<0Ž?elò«]VÙýa~nšaŽ5-:IƒÔž4ì͇”‡32Š\§_®fÿ:ÊŒ®)«F1¾Ú'ö‚ƒª&¸S® 0ÏJFxºpÇ0‚Ißí>÷Üù“tŠMfä°^íÆYƒÏ"žëAcÑx²Uð<·£k˜°)·‰R|Îúo™ö‹³&HOûùÕe[xM£ÈËzj5|ÑnÄûyº0¹ü@åQ(¬(a¤ˆî Eu˜·Âòˆ8ñ’·ŽÒ);ê¢àÀ»‘<¹œSZÚÎ÷Ú5b5uqr¦0y`$«<<Ó×ÕëPÞ8=ÛùÐé):<Q8[84*ø£äoˆ˜Õåp%•,âÝ›³4
+›åª¯jz&FB‹ÐD!„™!R'ËJÅJ _ˆ»äø¡Q4Tëòxq/7Wd^°þÄrø²Ý†8ôpÝ©òQ÷é“ôfo7qÝé…OµGÇÚ‹[[Zö—ý€¢—Ø…ëÍ×ÔSÑ*l.yè­{b¸n ÓüºÑÎR¤‰àl+H]"21ê1FÇ: B}ÊVÞ ~³’Wùž¶×öZÓ«£MÕœrJÀUÌ»OÄ'æÕƒÙ–c=áÉÊ-ìYç7÷éEÃ…,bÖ«Œ#~¼¼—ÛKî°__ _´ñ•žÂcÛï`ÏökÌØÚ)4Åâ!­$ü·ìæü´ùÛ8Â@Üq*ähÖDz]H|vÜ„ªÈ.L›æP71,WԄפIÌ¿´º·sê„+î÷°Î•S­˜šÇ=–
+C¤&‘QjØI OcÐŒý[+<…&D_j‘Õ8“Y?cˆä‡c6Ѳ¿ku¬ã稫-íyk³¼È¤?¹¶l7¢;=]x >âPGÃÃ(æÔm8­fw@Ò£Oµ­y¨6£ÅBQˆê6ÍæW¢ÑíS˜ZœëRÎ,¨%ÌH·‹õÚŒ ù ì3ÞDÁ4q«§WBÉÒëì!”‘Ä=
+Ë[F÷3ÞL5­Aoô+8ºâèp¥qÝÚ4Ë\øÐðsš]æ}=4Êy g¶2n¡½h)gŠ÷WV÷r{ÉDõ‚ö'—ÖíFl©'ÿšþŽv4_@¨qëD{oš²Šå*z5´NÅŽæ,ž
+ ‹ß€‡ñïAfY1À½Í覓išŽ8TØú1‰P—¡ŽoÇrª2QÛ²õ-Pcsi±OŒ0†¾Ë*àçÆU±¶kè]ì4ãI®þÀÜÜkí÷®—U2Æ"Ýa3ƒ9ïÙÀžµj¥Óš¾º—ÛË& ´?¹¶l·àZ=]•½¤õɼBôD1’d£›¨{nêµ NÈn1›è#Óm*<Ís–ýÈQ$½É í‰8v°4t{Y™ŠìÄÄ¢Xø‹$²Ö‡øš@#NUxÚ^¹ÚŒ_÷Áf’X†÷¦‰¾th{Õ1“ª€:»€ õ‚òU`}7dȨMw)eC{W¨æ¾Ï|všJWør{Ūô‚ö§–Öí/fj=yc½›×J3?Ô`Òn6f˜$x:%rú
+‰!=ŒeµÓˆÞtzÏÆ Z+âsÇ(hB¨J½ÁòÁ‚íUOCø¨¡§=7 ŽÓœìÍÀXÈCß3«y~\XDšåþ
+fnCb{þ)ÌLt,:ʨp„ÅÙ¥GXŠ‘É
+ÜR-«9¤*—ºãdßbŒ©Ø:lšw¨Œr¨éŸ=ñqª˜<?êw¯Úï©”N„K]‰âÒ܆ ÁPíµ!£±‰Í†Ai ã”Ô ¬ŠÃŽQ<
+¢“Ao1£®ˆÁ¶n/–䙻ƳÎ<0™«¸9ÞšQl®¡ú0£àÿÇöDãd¤áÈÚ"˜S¥?S.OÇ\¥QÛ{¤™FŸÖäµ³Æ}÷xyoÄyË’ó!1¹ ¹Ô˜èGÔ»R³§ªIcPК¢&!–l,ª<c²ùˆæ7 Ô±”¾à› Qöèy˜N¾k`ü‰2cXœ®FW,Ö÷¿i}’Þ—ü¼T8
+w†=d K¹öŠÕîxETkvÚÌäÄ5ËËH_œ-„ÛÛ
+Ì]m–W%3Z¯$ÒŽA²·½4ijÙÒAQ];+AµÕ­æõMòq·˜»üùÒ(äj^+õ›”0ìê¨udöKŒ’pÛ ìðØ’'•§Uñݪ®L™ÜTD½ªØѾc² _ ¦°”ËF¤zÓùQ/ªÑ¬óBž
+‹Ùâ(s·«ukt?oÖèÅÅÒPT@m`y²ªyÓ¸Ft î\k¡®÷†Äñê‰0çLGë:2wœ{Î] kÞ£¨§cl td V Áð—©ï¬Oqú—)“R¢>Ç)de3‘µ˜×ä6LØ,Œ€G[ ì‹;{õ™Æµ3-2ΫJ{B»Xk†rÞò9®5úVú)7€¸FŒ²äó"—Q¬ êŽ,qÁ ìÊQª¬[±ÂØyU|œì6”ÊÜ% Ž8zeD›/§ØàÒ±ò¢Ú.ÁÉ€Ã{Ç+ÊÚ]Ó¤Æ}l 3KÄm“j0|¡õ3Xà¡©Ä"š™Özå©nõüD,„S Ï^vUŒVŸëÖÕ¾<¶9¼Ê}ûÍC
+§5…Ïj·¾ö™6 ô…Zù{¥VV4P!B‘+ïzŒ-®
+ A¬Ï­Gð‹=~RpV“ï˜Ie> ;m'Ýêƒ0­òÚÉ by:³ÍæTFXð”gûg8G0’Ï¡·YO¢¶Wh,!|(μV˜
+Xd¢Ã<ý¢‹,Œ©ÐæúÜ~ó:‹Ë‡$g÷?†/8|ŸÁß«
+ÔpurÔü¬ƒÈïþÕÝQXllÙºVŠ—7/Á+3Ks;~¦ÛʬË,Éá×\¶ß”_hÝøÅýzç
+Ø2ýËÝÕ5¿²1éÊ=]Ùæ+`8CæÕÝu`]…ßãU¿çKÌ_bæ‚w÷»ñ½
+ÒKôÕ@×X½¡ óç
+¶1 †å¨‘øAü-kýkMžuÆHÔãTÐ#hQ$¦D=C¨Þ6Ï4D£9Ó⯘•–ƒæÿ*/
+Ø:ÝŒÕm¿nÊqYBld4}mÛÔƒ^¤5»Ï9§2pÌ&q¥!¹¦RdÉ&ÑPÓDOÕ5r‘úe$UÂ?
+V¨B¶Rós‚)d¦ênŽ´“—“§Þ'[ è묘KûBsòA[µRž†¦i¢ùâ7î:àüd,ŒøeQ&Œa¯ø\ éþñª]îYíGíÅ
+Ø:ÝŒ m¿n‡HãJÉA„b-ŠJq“X¢(íq„2Æ0½4ìÅI›W.^´bÄ4»Tá"%Oè639]uóMN{5 0
+ðt°½@fÆäÆ9q“<ËÀH=Zó|C·/Í‹Yå”UÚ»v?ðÛ[ÏnŒrÿx}/vבóáâûrlnCÁ¶_”äeîMiÊãU/ÝÖ<
+™K\ÏÚ7vXJ˜ìÙÆ°¨[J)¹9må”â².šúAÂ(I4Ö½« W¦ŠLl±§Ý.iCHfɴ٬⠪ÁŒdã'ÞQhiª›=ÎŒz¯˜gñtw²
+Ufï¥P˜‹°ŸK_•¤ ª»Ðfå ‡ŠVÆÞÕ ½Ë^o<ÍéÌæÞ>¨qJ‰“1üñÒ^li ­|Ø ¾\[§›1­í¡øˆ.5WÚ#k›BqOiCªÞµlo¡HDÆ®î[7FöSÑͬàHFßCsÕ[ƒ°]JYAºÚ†gŠ¦ öÜ^íË´¡ìí½’…çèf-°À×Ì÷HœÁBIÚ;ø2PN( 1“Fy&¡—6Ín,F¯Þ¡1‘67­£à ­‘¦¶ž‡Ëµ½ØÙí
+k­æ(†ìlYÆÛœz»Ï­Ds7ùp†w$Ëô¦Þ-‹9[·Rtý&쎕ë,“vv2.š"­Ê:©#ß?^Ù‹me Ù ìË°uº‹Ú~Ùc1ª!Ûl[æŹknf—ÔëÓRH´8t"J]°RFŽÎ¥Äs¨;°‡…H¶—?—ÕqK;;úÕZ³‰ÐK?Ø@öÌÑB$9s‹ëª}š HdûÔ)LO ¶cl„$:‡äBï²è„šM÷qµÍÔHÝdS%ÖÒÆ•œW÷bggK8¶/W@Ët+δcþÆÚM¡ Gk¶G'C;dä6%¾Bx¡´™îºÙ'Ã,Ð$ªMš,‡Nä2L³ÓÓnJÞE›—ÔqÆC1û"3Xiž6™1¥[=Êèv±>Š%Òûn±ÿZ‡bUŸ‰ÍA¶3A.~hÚ!ÆPØ™eóÕàÀ˜&VD¬Rœ@ÌJØò~&ˆÀnÓ÷vS&™å>O»mûrÂDöàÿ‡z(-€­ÒÍÈÕ>.êüTTí|eë=m&EdÃä >í·MªY´Ñt4;¤ùf(͉°/ˆŸv@(Fvxz):<{‘s/ÍÝCÿMð©TŠíû½+iñÖ4h—¦ƒ²úÝqo Øà£m)Tî|UxõGÍ AV†"=˜žc±8¼ò™o>Ë—Z#5¨´Ì® ¹,Ï€ìtò¾c=Á\¢.rÄx ±[1±í?ÄÉËV fb–ä6xgòî⊠–dæT[ ^¬Ùpʼ>áfå„€‘¥ÿ¶cÕœ €·™±Y' ÓÅW=yæ\I¤ž|+ÄD˹hpK¶É=ñ«Uf‘‡O†%yx
+Ûl¨%ÉV9L Ø–$<)ì®Ùž¤£ëÄi–G»­ÌobTüƒ(òäöU§Fœ"™«Èæsƒéë‰É1ÀŽ*KT÷¼XÍÔö#™°¤q ¶9~,øk¥_X/Ê­H׿ëÁ[3“k”xR€A2¯GEf›ŸrçA¦Õ žÚà#œõîæô<ê/_Ì``lܪ[F‹Îõƒiø#åöÁjJñf¼7J”ðk3šhÏ÷¡Œá £k¨š¡I˜†éòjÔYûbŠ©´Ê Ž
+
+‰¸#Š
+â¬*,âk}¥Ñ”{Àû ïéá9\¨sD¼ÀŸIQ´Ï›¬‹´Útõf‡°3ÌCÏ`¶S|‚€ù«§[y•Zõ<å“ÝþiGªš©‰Óô®|‚JàJi£ÿ®ˆ&ìj\¨ÞŽÓÌFõD~P¶…fkñÞö³,ÙXûjkVOhl`¨a
+ìZ£Pœ:¸ÝìgÃÑ˘àê0²U$¯!Ÿ`5Õäìg·ù‘ɹí ï:Ï¡æU{ØÌ“,¦Ϋv+'Г»zDÞôC0k·Î¸VÐŒï™?ºƒïuãS쩈OL6·vôê´PÌŒÎc„²g€—ÕõH):Ž%û»-±x¼´êö­Ù7sYŸó±ç¥ø ¸>·ÝâV1þ…£¾Xع®
+œ ¹bc˜£õ^f·Ò©ï-ñž“·7®®Í¼¬¦¡æ­{¶ÐÚ¦Bmº‘‘­K§xÊÄt#c+–fu[´5Í©˜jaÁ}ôÏy gV3=üªÙDûj³N’fÒ+T¤ßi€úç¬8²d/Ì=,î­Ø¹¬åGVc(‹¨BJ‘
0000000016 00000 n
-0000045654 00000 n
+0000045544 00000 n
0000000004 00000 f
0000000006 00000 f
-0000054890 00000 n
+0000055744 00000 n
0000000007 00000 f
0000000008 00000 f
0000000009 00000 f
@@ -4964,9 +4977,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000013 00000 f
0000000014 00000 f
0000000018 00000 f
-0000045705 00000 n
-0000054715 00000 n
-0000054746 00000 n
+0000045595 00000 n
+0000055567 00000 n
+0000055598 00000 n
0000000019 00000 f
0000000020 00000 f
0000000021 00000 f
@@ -4976,9 +4989,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000025 00000 f
0000000026 00000 f
0000000030 00000 f
-0000045774 00000 n
-0000054599 00000 n
-0000054630 00000 n
+0000045664 00000 n
+0000055451 00000 n
+0000055482 00000 n
0000000031 00000 f
0000000032 00000 f
0000000033 00000 f
@@ -4986,9 +4999,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000035 00000 f
0000000036 00000 f
0000000040 00000 f
-0000045845 00000 n
-0000054483 00000 n
-0000054514 00000 n
+0000045735 00000 n
+0000055335 00000 n
+0000055366 00000 n
0000000041 00000 f
0000000042 00000 f
0000000043 00000 f
@@ -5014,9 +5027,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000063 00000 f
0000000064 00000 f
0000000068 00000 f
-0000045915 00000 n
-0000054367 00000 n
-0000054398 00000 n
+0000045805 00000 n
+0000055219 00000 n
+0000055250 00000 n
0000000069 00000 f
0000000070 00000 f
0000000071 00000 f
@@ -5027,9 +5040,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000076 00000 f
0000000077 00000 f
0000000081 00000 f
-0000045984 00000 n
-0000054251 00000 n
-0000054282 00000 n
+0000045874 00000 n
+0000055103 00000 n
+0000055134 00000 n
0000000082 00000 f
0000000083 00000 f
0000000084 00000 f
@@ -5039,9 +5052,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000088 00000 f
0000000089 00000 f
0000000093 00000 f
-0000046055 00000 n
-0000054135 00000 n
-0000054166 00000 n
+0000045945 00000 n
+0000054987 00000 n
+0000055018 00000 n
0000000094 00000 f
0000000095 00000 f
0000000096 00000 f
@@ -5065,9 +5078,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000114 00000 f
0000000115 00000 f
0000000119 00000 f
-0000046125 00000 n
-0000054017 00000 n
-0000054049 00000 n
+0000046015 00000 n
+0000054869 00000 n
+0000054901 00000 n
0000000120 00000 f
0000000121 00000 f
0000000122 00000 f
@@ -5078,9 +5091,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000127 00000 f
0000000128 00000 f
0000000132 00000 f
-0000046197 00000 n
-0000053899 00000 n
-0000053931 00000 n
+0000046087 00000 n
+0000054751 00000 n
+0000054783 00000 n
0000000133 00000 f
0000000134 00000 f
0000000135 00000 f
@@ -5090,9 +5103,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000139 00000 f
0000000140 00000 f
0000000144 00000 f
-0000046271 00000 n
-0000053781 00000 n
-0000053813 00000 n
+0000046161 00000 n
+0000054633 00000 n
+0000054665 00000 n
0000000145 00000 f
0000000146 00000 f
0000000147 00000 f
@@ -5116,9 +5129,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000165 00000 f
0000000166 00000 f
0000000170 00000 f
-0000046344 00000 n
-0000053663 00000 n
-0000053695 00000 n
+0000046234 00000 n
+0000054515 00000 n
+0000054547 00000 n
0000000171 00000 f
0000000172 00000 f
0000000173 00000 f
@@ -5129,9 +5142,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000178 00000 f
0000000179 00000 f
0000000183 00000 f
-0000046416 00000 n
-0000053545 00000 n
-0000053577 00000 n
+0000046306 00000 n
+0000054397 00000 n
+0000054429 00000 n
0000000184 00000 f
0000000185 00000 f
0000000186 00000 f
@@ -5141,9 +5154,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000190 00000 f
0000000191 00000 f
0000000195 00000 f
-0000046490 00000 n
-0000053427 00000 n
-0000053459 00000 n
+0000046380 00000 n
+0000054279 00000 n
+0000054311 00000 n
0000000196 00000 f
0000000197 00000 f
0000000198 00000 f
@@ -5167,9 +5180,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000216 00000 f
0000000217 00000 f
0000000221 00000 f
-0000046563 00000 n
-0000053309 00000 n
-0000053341 00000 n
+0000046453 00000 n
+0000054161 00000 n
+0000054193 00000 n
0000000222 00000 f
0000000223 00000 f
0000000224 00000 f
@@ -5186,9 +5199,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000235 00000 f
0000000236 00000 f
0000000240 00000 f
-0000046635 00000 n
-0000053191 00000 n
-0000053223 00000 n
+0000046525 00000 n
+0000054043 00000 n
+0000054075 00000 n
0000000241 00000 f
0000000242 00000 f
0000000243 00000 f
@@ -5204,9 +5217,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000253 00000 f
0000000254 00000 f
0000000258 00000 f
-0000046709 00000 n
-0000053073 00000 n
-0000053105 00000 n
+0000046599 00000 n
+0000053925 00000 n
+0000053957 00000 n
0000000259 00000 f
0000000260 00000 f
0000000261 00000 f
@@ -5236,9 +5249,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000285 00000 f
0000000286 00000 f
0000000290 00000 f
-0000046782 00000 n
-0000052955 00000 n
-0000052987 00000 n
+0000046672 00000 n
+0000053807 00000 n
+0000053839 00000 n
0000000291 00000 f
0000000292 00000 f
0000000293 00000 f
@@ -5255,9 +5268,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000304 00000 f
0000000305 00000 f
0000000309 00000 f
-0000046854 00000 n
-0000052837 00000 n
-0000052869 00000 n
+0000046744 00000 n
+0000053689 00000 n
+0000053721 00000 n
0000000310 00000 f
0000000311 00000 f
0000000312 00000 f
@@ -5273,9 +5286,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000322 00000 f
0000000323 00000 f
0000000327 00000 f
-0000046928 00000 n
-0000052719 00000 n
-0000052751 00000 n
+0000046818 00000 n
+0000053571 00000 n
+0000053603 00000 n
0000000328 00000 f
0000000329 00000 f
0000000330 00000 f
@@ -5305,9 +5318,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000354 00000 f
0000000355 00000 f
0000000359 00000 f
-0000047001 00000 n
-0000052601 00000 n
-0000052633 00000 n
+0000046891 00000 n
+0000053453 00000 n
+0000053485 00000 n
0000000360 00000 f
0000000361 00000 f
0000000362 00000 f
@@ -5324,9 +5337,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000373 00000 f
0000000374 00000 f
0000000378 00000 f
-0000047073 00000 n
-0000052483 00000 n
-0000052515 00000 n
+0000046963 00000 n
+0000053335 00000 n
+0000053367 00000 n
0000000379 00000 f
0000000380 00000 f
0000000381 00000 f
@@ -5342,9 +5355,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000391 00000 f
0000000392 00000 f
0000000396 00000 f
-0000047147 00000 n
-0000052365 00000 n
-0000052397 00000 n
+0000047037 00000 n
+0000053217 00000 n
+0000053249 00000 n
0000000397 00000 f
0000000398 00000 f
0000000399 00000 f
@@ -5374,9 +5387,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000423 00000 f
0000000424 00000 f
0000000428 00000 f
-0000047220 00000 n
-0000052247 00000 n
-0000052279 00000 n
+0000047110 00000 n
+0000053099 00000 n
+0000053131 00000 n
0000000429 00000 f
0000000430 00000 f
0000000431 00000 f
@@ -5393,9 +5406,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000442 00000 f
0000000443 00000 f
0000000447 00000 f
-0000047292 00000 n
-0000052129 00000 n
-0000052161 00000 n
+0000047182 00000 n
+0000052981 00000 n
+0000053013 00000 n
0000000448 00000 f
0000000449 00000 f
0000000450 00000 f
@@ -5411,9 +5424,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000460 00000 f
0000000461 00000 f
0000000465 00000 f
-0000047364 00000 n
-0000052011 00000 n
-0000052043 00000 n
+0000047254 00000 n
+0000052863 00000 n
+0000052895 00000 n
0000000466 00000 f
0000000467 00000 f
0000000468 00000 f
@@ -5429,9 +5442,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000478 00000 f
0000000479 00000 f
0000000483 00000 f
-0000047438 00000 n
-0000051893 00000 n
-0000051925 00000 n
+0000047328 00000 n
+0000052745 00000 n
+0000052777 00000 n
0000000484 00000 f
0000000485 00000 f
0000000486 00000 f
@@ -5464,9 +5477,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000513 00000 f
0000000514 00000 f
0000000518 00000 f
-0000047511 00000 n
-0000051775 00000 n
-0000051807 00000 n
+0000047401 00000 n
+0000052627 00000 n
+0000052659 00000 n
0000000519 00000 f
0000000520 00000 f
0000000521 00000 f
@@ -5483,9 +5496,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000532 00000 f
0000000533 00000 f
0000000537 00000 f
-0000047583 00000 n
-0000051657 00000 n
-0000051689 00000 n
+0000047473 00000 n
+0000052509 00000 n
+0000052541 00000 n
0000000538 00000 f
0000000539 00000 f
0000000540 00000 f
@@ -5501,9 +5514,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000550 00000 f
0000000551 00000 f
0000000555 00000 f
-0000047655 00000 n
-0000051539 00000 n
-0000051571 00000 n
+0000047545 00000 n
+0000052391 00000 n
+0000052423 00000 n
0000000556 00000 f
0000000557 00000 f
0000000558 00000 f
@@ -5519,9 +5532,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000568 00000 f
0000000569 00000 f
0000000573 00000 f
-0000047729 00000 n
-0000051421 00000 n
-0000051453 00000 n
+0000047619 00000 n
+0000052273 00000 n
+0000052305 00000 n
0000000574 00000 f
0000000575 00000 f
0000000576 00000 f
@@ -5554,9 +5567,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000603 00000 f
0000000604 00000 f
0000000608 00000 f
-0000047802 00000 n
-0000051303 00000 n
-0000051335 00000 n
+0000047692 00000 n
+0000052155 00000 n
+0000052187 00000 n
0000000609 00000 f
0000000610 00000 f
0000000611 00000 f
@@ -5573,9 +5586,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000622 00000 f
0000000623 00000 f
0000000627 00000 f
-0000047874 00000 n
-0000051185 00000 n
-0000051217 00000 n
+0000047764 00000 n
+0000052037 00000 n
+0000052069 00000 n
0000000628 00000 f
0000000629 00000 f
0000000630 00000 f
@@ -5591,9 +5604,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000640 00000 f
0000000641 00000 f
0000000645 00000 f
-0000047946 00000 n
-0000051067 00000 n
-0000051099 00000 n
+0000047836 00000 n
+0000051919 00000 n
+0000051951 00000 n
0000000646 00000 f
0000000647 00000 f
0000000648 00000 f
@@ -5609,9 +5622,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000658 00000 f
0000000659 00000 f
0000000663 00000 f
-0000048020 00000 n
-0000050949 00000 n
-0000050981 00000 n
+0000047910 00000 n
+0000051801 00000 n
+0000051833 00000 n
0000000664 00000 f
0000000665 00000 f
0000000666 00000 f
@@ -5644,13 +5657,13 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000693 00000 f
0000000694 00000 f
0000000698 00000 f
-0000048093 00000 n
-0000050831 00000 n
-0000050863 00000 n
+0000047983 00000 n
+0000051683 00000 n
+0000051715 00000 n
0000000702 00000 f
-0000048164 00000 n
-0000050713 00000 n
-0000050745 00000 n
+0000048054 00000 n
+0000051565 00000 n
+0000051597 00000 n
0000000703 00000 f
0000000704 00000 f
0000000705 00000 f
@@ -5667,9 +5680,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000716 00000 f
0000000717 00000 f
0000000721 00000 f
-0000048236 00000 n
-0000050595 00000 n
-0000050627 00000 n
+0000048126 00000 n
+0000051447 00000 n
+0000051479 00000 n
0000000722 00000 f
0000000723 00000 f
0000000724 00000 f
@@ -5684,9 +5697,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000733 00000 f
0000000734 00000 f
0000000738 00000 f
-0000048308 00000 n
-0000050477 00000 n
-0000050509 00000 n
+0000048198 00000 n
+0000051329 00000 n
+0000051361 00000 n
0000000739 00000 f
0000000740 00000 f
0000000741 00000 f
@@ -5702,9 +5715,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000751 00000 f
0000000752 00000 f
0000000756 00000 f
-0000048382 00000 n
-0000050359 00000 n
-0000050391 00000 n
+0000048272 00000 n
+0000051211 00000 n
+0000051243 00000 n
0000000757 00000 f
0000000758 00000 f
0000000759 00000 f
@@ -5733,14 +5746,14 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000782 00000 f
0000000783 00000 f
0000000784 00000 f
-0000000788 00001 f
-0000048455 00000 n
-0000050241 00000 n
-0000050273 00000 n
+0000000788 00000 f
+0000048345 00000 n
+0000051093 00000 n
+0000051125 00000 n
0000000792 00000 f
-0000048526 00000 n
-0000050123 00000 n
-0000050155 00000 n
+0000048416 00000 n
+0000050975 00000 n
+0000051007 00000 n
0000000793 00000 f
0000000794 00000 f
0000000795 00000 f
@@ -5757,9 +5770,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000806 00000 f
0000000807 00000 f
0000000811 00000 f
-0000048598 00000 n
-0000050005 00000 n
-0000050037 00000 n
+0000048488 00000 n
+0000050857 00000 n
+0000050889 00000 n
0000000812 00000 f
0000000813 00000 f
0000000814 00000 f
@@ -5774,9 +5787,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000823 00000 f
0000000824 00000 f
0000000828 00000 f
-0000048670 00000 n
-0000049887 00000 n
-0000049919 00000 n
+0000048560 00000 n
+0000050739 00000 n
+0000050771 00000 n
0000000829 00000 f
0000000830 00000 f
0000000831 00000 f
@@ -5792,9 +5805,9 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000841 00000 f
0000000842 00000 f
0000000846 00000 f
-0000048744 00000 n
-0000049769 00000 n
-0000049801 00000 n
+0000048634 00000 n
+0000050621 00000 n
+0000050653 00000 n
0000000847 00000 f
0000000848 00000 f
0000000849 00000 f
@@ -5812,103 +5825,196 @@ RB5Q\9JRÉ¢qÏr¸%d…,ç…¼gÑPŠ€áƒl©7¶fïw1KG(–‹8µopéᘩúâC<fx QVá¦B§ÅtÙ¶Æä
0000000861 00000 f
0000000862 00000 f
0000000863 00000 f
-0000000864 00001 f
+0000000864 00000 f
0000000865 00000 f
0000000866 00000 f
0000000867 00000 f
0000000868 00000 f
+0000000869 00000 f
+0000000870 00000 f
+0000000871 00000 f
+0000000872 00000 f
+0000000873 00000 f
+0000000874 00000 f
+0000000875 00000 f
0000000876 00000 f
-0000173720 00000 n
-0000173796 00000 n
-0000174020 00000 n
-0000175035 00000 n
-0000182519 00000 n
-0000248108 00000 n
-0000313697 00000 n
+0000000877 00000 f
0000000881 00001 f
-0000054831 00000 n
-0000048817 00000 n
-0000049651 00000 n
-0000049683 00000 n
-0000000894 00001 f
-0000048888 00000 n
-0000049533 00000 n
-0000049565 00000 n
-0000057673 00000 n
-0000158692 00000 n
-0000159417 00000 n
-0000173093 00000 n
-0000059698 00000 n
-0000059735 00000 n
-0000159480 00000 n
-0000158755 00000 n
-0000062384 00000 n
-0000000904 00001 f
-0000146567 00000 n
-0000147323 00000 n
-0000158629 00000 n
-0000147386 00000 n
-0000146630 00000 n
-0000062878 00000 n
-0000048960 00000 n
-0000049415 00000 n
-0000049447 00000 n
-0000000911 00001 f
-0000131986 00000 n
-0000132736 00000 n
-0000146504 00000 n
-0000132799 00000 n
-0000132049 00000 n
-0000063362 00000 n
-0000000921 00001 f
-0000119816 00000 n
-0000120569 00000 n
-0000131923 00000 n
-0000120632 00000 n
-0000119879 00000 n
-0000063860 00000 n
-0000049032 00000 n
-0000049297 00000 n
-0000049329 00000 n
-0000000928 00001 f
-0000105212 00000 n
-0000105960 00000 n
-0000119753 00000 n
-0000106023 00000 n
-0000105275 00000 n
-0000064347 00000 n
-0000000929 00001 f
-0000000939 00001 f
-0000093039 00000 n
-0000093791 00000 n
-0000105149 00000 n
-0000093854 00000 n
-0000093102 00000 n
-0000064848 00000 n
-0000049106 00000 n
-0000049179 00000 n
-0000049211 00000 n
-0000000946 00001 f
-0000078414 00000 n
-0000079171 00000 n
-0000092976 00000 n
-0000079234 00000 n
-0000078477 00000 n
-0000065328 00000 n
+0000048707 00000 n
+0000050503 00000 n
+0000050535 00000 n
+0000000885 00000 f
+0000048778 00000 n
+0000050385 00000 n
+0000050417 00000 n
+0000000886 00000 f
+0000000887 00000 f
+0000000888 00000 f
+0000000889 00000 f
+0000000890 00000 f
+0000000891 00000 f
+0000000892 00000 f
+0000000893 00000 f
+0000000894 00000 f
+0000000895 00000 f
+0000000896 00000 f
+0000000897 00000 f
+0000000898 00000 f
+0000000899 00000 f
+0000000900 00000 f
+0000000904 00000 f
+0000048850 00000 n
+0000050267 00000 n
+0000050299 00000 n
+0000000905 00000 f
+0000000906 00000 f
+0000000907 00000 f
+0000000908 00000 f
+0000000909 00000 f
+0000000910 00000 f
+0000000911 00000 f
+0000000912 00000 f
+0000000913 00000 f
+0000000914 00000 f
+0000000915 00000 f
+0000000916 00000 f
+0000000917 00000 f
+0000000921 00000 f
+0000048922 00000 n
+0000050149 00000 n
+0000050181 00000 n
+0000000922 00000 f
+0000000923 00000 f
+0000000924 00000 f
+0000000925 00000 f
+0000000926 00000 f
+0000000927 00000 f
+0000000928 00000 f
+0000000929 00000 f
+0000000930 00000 f
+0000000931 00000 f
+0000000932 00000 f
+0000000933 00000 f
+0000000934 00000 f
+0000000935 00000 f
+0000000939 00000 f
+0000048996 00000 n
+0000050031 00000 n
+0000050063 00000 n
+0000000940 00000 f
+0000000941 00000 f
+0000000942 00000 f
+0000000943 00000 f
+0000000944 00000 f
+0000000945 00000 f
+0000000946 00000 f
+0000000947 00000 f
+0000000948 00000 f
+0000000949 00000 f
+0000000950 00000 f
+0000000951 00000 f
+0000000952 00000 f
+0000000953 00000 f
+0000000954 00000 f
+0000000955 00000 f
+0000000956 00000 f
+0000000957 00001 f
+0000000958 00000 f
+0000000959 00000 f
+0000000960 00000 f
+0000000961 00000 f
+0000000969 00000 f
+0000174447 00000 n
+0000174523 00000 n
+0000174747 00000 n
+0000175772 00000 n
+0000183336 00000 n
+0000248925 00000 n
+0000314514 00000 n
+0000000974 00001 f
+0000055683 00000 n
+0000049069 00000 n
+0000049913 00000 n
+0000049945 00000 n
+0000000987 00001 f
+0000049140 00000 n
+0000049795 00000 n
+0000049827 00000 n
+0000058541 00000 n
+0000159418 00000 n
+0000160143 00000 n
+0000173817 00000 n
+0000060510 00000 n
+0000060547 00000 n
+0000160206 00000 n
+0000159481 00000 n
+0000063196 00000 n
+0000000997 00001 f
+0000147299 00000 n
+0000148055 00000 n
+0000159355 00000 n
+0000148118 00000 n
+0000147362 00000 n
+0000063689 00000 n
+0000049212 00000 n
+0000049677 00000 n
+0000049709 00000 n
+0000001004 00001 f
+0000132732 00000 n
+0000133484 00000 n
+0000147235 00000 n
+0000133547 00000 n
+0000132795 00000 n
+0000064172 00000 n
+0000001014 00001 f
+0000120560 00000 n
+0000121317 00000 n
+0000132668 00000 n
+0000121381 00000 n
+0000120624 00000 n
+0000064671 00000 n
+0000049284 00000 n
+0000049557 00000 n
+0000049590 00000 n
+0000001021 00001 f
+0000106070 00000 n
+0000106822 00000 n
+0000120496 00000 n
+0000106886 00000 n
+0000106134 00000 n
+0000065160 00000 n
+0000001022 00001 f
+0000001032 00001 f
+0000093888 00000 n
+0000094644 00000 n
+0000106006 00000 n
+0000094708 00000 n
+0000093952 00000 n
+0000065664 00000 n
+0000049361 00000 n
+0000049437 00000 n
+0000049470 00000 n
+0000001039 00001 f
+0000079247 00000 n
+0000080008 00000 n
+0000093824 00000 n
+0000080072 00000 n
+0000079311 00000 n
+0000066147 00000 n
0000000000 00001 f
-0000066308 00000 n
-0000067065 00000 n
-0000078351 00000 n
-0000067128 00000 n
-0000066371 00000 n
-0000065829 00000 n
-0000057787 00000 n
-0000058077 00000 n
-0000055498 00000 n
-0000361937 00000 n
-0000058339 00000 n
-0000173156 00000 n
-0000173206 00000 n
-0000057517 00000 n
-0000000897 00000 n
-trailer <</Size 962/Root 1 0 R/Info 956 0 R/ID[<DFAD564605F549E3ABF1FC747EBA5A34><A151DA051B174F59A99D14D40A0E4378>]>> startxref 362074 %%EOF \ No newline at end of file
+0000067133 00000 n
+0000067894 00000 n
+0000079183 00000 n
+0000067958 00000 n
+0000067197 00000 n
+0000066651 00000 n
+0000058655 00000 n
+0000058947 00000 n
+0000056363 00000 n
+0000362622 00000 n
+0000059211 00000 n
+0000173880 00000 n
+0000173932 00000 n
+0000058383 00000 n
+0000000982 00000 n
+trailer <</Size 1055/Root 1 0 R/Info 1049 0 R/ID[<DFAD564605F549E3ABF1FC747EBA5A34><45AB28F93CAE4209BAB0B0278EBC9323>]>> startxref 362760 %%EOF \ No newline at end of file
diff --git a/src/compiler/scala/tools/nsc/doc/model/Entity.scala b/src/compiler/scala/tools/nsc/doc/model/Entity.scala
index 678702c7f1..b5f12d312d 100644
--- a/src/compiler/scala/tools/nsc/doc/model/Entity.scala
+++ b/src/compiler/scala/tools/nsc/doc/model/Entity.scala
@@ -48,6 +48,7 @@ trait MemberEntity extends Entity {
def resultType: TypeEntity
def isDef: Boolean
def isVal: Boolean
+ def isLazyVal: Boolean
def isVar: Boolean
def isImplicit: Boolean
def isConstructor: Boolean
@@ -131,7 +132,7 @@ trait Constructor extends NonTemplateMemberEntity {
def valueParams : List[List[ValueParam]]
}
-/** A value (`val`) or variable (`var`) of a ''documentable'' class, trait or object. */
+/** A value (`val`), lazy val (`lazy val`) or variable (`var`) of a ''documentable'' class, trait or object. */
trait Val extends NonTemplateMemberEntity
/** An abstract type of a ''documentable'' class, trait or object. */
diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
index 9641bc9045..d7e1e2fe1a 100644
--- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
+++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
@@ -52,10 +52,6 @@ class ModelFactory(val global: Global, val settings: doc.Settings) extends Comme
def inTemplate = inTpl
def toRoot: List[EntityImpl] = this :: inTpl.toRoot
def qualifiedName = name
- override def equals(that: Any) = that match {
- case that: EntityImpl => this.sym == that.sym
- case _ => false
- }
}
/** Provides a default implementation for instances of the `WeakTemplateEntity` type. It must be instantiated as a
@@ -124,6 +120,7 @@ class ModelFactory(val global: Global, val settings: doc.Settings) extends Comme
def resultType = makeType(sym.tpe.finalResultType, inTemplate, sym)
def isDef = false
def isVal = false
+ def isLazyVal = false
def isVar = false
def isImplicit = sym.isImplicit
def isConstructor = false
@@ -336,11 +333,15 @@ class ModelFactory(val global: Global, val settings: doc.Settings) extends Comme
def makeMember(aSym: Symbol, inTpl: => DocTemplateImpl): List[MemberImpl] = {
def makeMember0(bSym: Symbol): Option[MemberImpl] = {
- if (bSym.isGetter && bSym.accessed.isMutable)
+ if (bSym.isGetter && bSym.isLazy)
+ Some(new NonTemplateMemberImpl(bSym, inTpl) with Val {
+ override def isLazyVal = true
+ })
+ else if (bSym.isGetter && bSym.accessed.isMutable)
Some(new NonTemplateMemberImpl(bSym, inTpl) with Val {
override def isVar = true
})
- else if (bSym.isMethod && !bSym.isGetterOrSetter && !bSym.isConstructor)
+ else if (bSym.isMethod && !bSym.isGetterOrSetter && !bSym.isConstructor && !bSym.isModule)
Some(new NonTemplateParamMemberImpl(bSym, inTpl) with Def {
override def isDef = true
def typeParams =
@@ -372,7 +373,7 @@ class ModelFactory(val global: Global, val settings: doc.Settings) extends Comme
None
}
- if ((!aSym.isPackage && aSym.sourceFile == null) || !localShouldDocument(aSym) || aSym.isModuleClass || aSym.isPackageObject || aSym.isMixinConstructor)
+ if (!localShouldDocument(aSym) || aSym.isModuleClass || aSym.isPackageObject || aSym.isMixinConstructor)
Nil
else {
val allSyms = useCases(aSym, inTpl.sym) map { case (bSym, bComment, bPos) =>
diff --git a/src/compiler/scala/tools/nsc/doc/model/comment/Body.scala b/src/compiler/scala/tools/nsc/doc/model/comment/Body.scala
index 7d2aee2d98..29e47fa578 100644
--- a/src/compiler/scala/tools/nsc/doc/model/comment/Body.scala
+++ b/src/compiler/scala/tools/nsc/doc/model/comment/Body.scala
@@ -9,10 +9,41 @@ import scala.collection._
import java.net.URL
-/** */
-final case class Body(blocks: Seq[Block])
+/** A body of text. A comment has a single body, which is composed of at least one block. Inside every body is exactly
+ * one summary (see [[scala.tools.nsc.doc.model.comment.Summary]]). */
+final case class Body(blocks: Seq[Block]) {
-/** */
+ /** The summary text of the comment body. */
+ lazy val summary: Option[Inline] = {
+ def summaryInBlock(block: Block): Seq[Inline] = block match {
+ case Title(text, _) => summaryInInline(text)
+ case Paragraph(text) => summaryInInline(text)
+ case UnorderedList(items) => items flatMap { summaryInBlock(_) }
+ case OrderedList(items, _) => items flatMap { summaryInBlock(_) }
+ case DefinitionList(items) => items.values.toSeq flatMap { summaryInBlock(_) }
+ case _ => Nil
+ }
+ def summaryInInline(text: Inline): Seq[Inline] = text match {
+ case Summary(text) => List(text)
+ case Chain(items) => items flatMap { summaryInInline(_) }
+ case Italic(text) => summaryInInline(text)
+ case Bold(text) => summaryInInline(text)
+ case Underline(text) => summaryInInline(text)
+ case Superscript(text) => summaryInInline(text)
+ case Subscript(text) => summaryInInline(text)
+ case Link(_, title) => summaryInInline(title)
+ case _ => Nil
+ }
+ (blocks flatMap { summaryInBlock(_) }).toList match {
+ case Nil => None
+ case inline :: Nil => Some(inline)
+ case inlines => Some(Chain(inlines))
+ }
+ }
+
+}
+
+/** A block-level element of text, such as a paragraph or code block. */
sealed abstract class Block
final case class Title(text: Inline, level: Int) extends Block
@@ -23,7 +54,7 @@ final case class OrderedList(items: Seq[Block], style: String) extends Block
final case class DefinitionList(items: SortedMap[Inline, Block]) extends Block
final case class HorizontalRule() extends Block
-/** */
+/** An section of text inside a block, possibly with formatting. */
sealed abstract class Inline
final case class Chain(items: Seq[Inline]) extends Inline
@@ -36,3 +67,6 @@ final case class Link(target: String, title: Inline) extends Inline
final case class EntityLink(target: TemplateEntity) extends Inline
final case class Monospace(text: String) extends Inline
final case class Text(text: String) extends Inline
+
+/** The summary of a comment, usually its first sentence. There must be exactly one summary per body. */
+final case class Summary(text: Inline) extends Inline
diff --git a/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala b/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala
index dba538046a..f067555cc3 100644
--- a/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala
+++ b/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala
@@ -102,17 +102,15 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory =>
* @param comment The raw comment string (including start and end markers) to be parsed.
* @param pos The position of the comment in source. */
protected def parse(comment: String, pos: Position): Comment = {
+
/** The cleaned raw comment as a list of lines. Cleaning removes comment start and end markers, line start markers
* and unnecessary whitespace. */
val cleaned: List[String] = {
def cleanLine(line: String): String = {
//replaceAll removes trailing whitespaces
line.replaceAll("""\s+$""", "") match {
- case "" => "" // Empty lines are require to keep paragraphs
case CleanCommentLine(ctl) => ctl
- case tl =>
- reporter.warning(pos, "Please re-check this line of the comment")
- tl
+ case tl => tl
}
}
val strippedComment = comment.trim.stripPrefix("/*").stripSuffix("*/")
@@ -221,20 +219,7 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory =>
val deprecated = oneTag(SimpleTagKey("deprecated"))
val note = allTags(SimpleTagKey("note"))
val example = allTags(SimpleTagKey("example"))
- val short = {
- def findShort(blocks: Iterable[Block]): Inline =
- if (blocks.isEmpty) Text("")
- else blocks.head match {
- case Title(text, _) => text
- case Paragraph(text) => text
- case Code(data) => Monospace(data.lines.next)
- case UnorderedList(items) => findShort(items)
- case OrderedList(items, _) => findShort(items)
- case DefinitionList(items) => findShort(items.values)
- case HorizontalRule() => findShort(blocks.tail)
- }
- findShort(body.blocks)
- }
+ val short = body.summary getOrElse Text("no summary matey")
}
for ((key, _) <- bodyTags)
@@ -264,6 +249,8 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory =>
* @author Gilles Dubochet */
protected final class WikiParser(val buffer: Array[Char], pos: Position) extends CharReader(buffer) { wiki =>
+ var summaryParsed = false
+
/** listStyle ::= '-' spc | '1.' spc | 'I.' spc | 'i.' spc | 'A.' spc | 'a.' spc
* Characters used to build lists and their constructors */
protected val listStyles = Map[String, (Seq[Block] => Block)]( // TODO Should this be defined at some list companion?
@@ -380,7 +367,16 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory =>
/** {{{ para ::= inline '\n' }}} */
def para(): Block = {
- val p = Paragraph(inline(checkParaEnded()))
+ val p =
+ if (summaryParsed)
+ Paragraph(inline(false))
+ else {
+ val s = summary()
+ val r =
+ if (checkParaEnded) List(s) else List(s, inline(false))
+ summaryParsed = true
+ Paragraph(Chain(r))
+ }
while (char == endOfLine && char != endOfText)
nextChar()
p
@@ -388,34 +384,26 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory =>
/* INLINES */
- def inline(isBlockEnd: => Boolean): Inline =
- inline(isBlockEnd, isBlockEnd)
+ def inline(isInlineEnd: => Boolean): Inline = {
- def inline(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
def inline0(): Inline = {
- if (check("'''"))
- bold(isInlineEnd, isBlockEnd)
- else if (check("''"))
- italic(isInlineEnd, isBlockEnd)
- else if (check("`"))
- monospace(isInlineEnd, isBlockEnd)
- else if (check("__"))
- underline(isInlineEnd, isBlockEnd)
- else if (check("^"))
- superscript(isInlineEnd, isBlockEnd)
- else if (check(",,"))
- subscript(isInlineEnd, isBlockEnd)
- else if (check("[["))
- link(isInlineEnd, isBlockEnd)
+ if (check("'''")) bold()
+ else if (check("''")) italic()
+ else if (check("`")) monospace()
+ else if (check("__")) underline()
+ else if (check("^")) superscript()
+ else if (check(",,")) subscript()
+ else if (check("[[")) link()
else {
- readUntil { check("''") || char == '`' || check("__") || char == '^' || check(",,") || check("[[") || isInlineEnd || isBlockEnd || char == endOfLine }
+ readUntil { check("''") || char == '`' || check("__") || char == '^' || check(",,") || check("[[") || isInlineEnd || checkParaEnded || char == endOfLine }
Text(getRead())
}
}
+
val inlines: List[Inline] = {
val iss = mutable.ListBuffer.empty[Inline]
iss += inline0()
- while(!isInlineEnd && !isBlockEnd && !checkParaEnded) {
+ while(!isInlineEnd && !checkParaEnded) {
if (char == endOfLine) nextChar()
val current = inline0()
(iss.last, current) match {
@@ -426,57 +414,66 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory =>
}
iss.toList
}
+
inlines match {
case Nil => Text("")
case i :: Nil => i
- case i :: is => Chain(i :: is)
+ case is => Chain(is)
}
+
}
- def bold(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
+ def bold(): Inline = {
jump("'''")
- val i = inline(check("'''"), isBlockEnd)
+ val i = inline(check("'''"))
jump("'''")
Bold(i)
}
- def italic(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
+ def italic(): Inline = {
jump("''")
- val i = inline(check("''"), isBlockEnd)
+ val i = inline(check("''"))
jump("''")
Italic(i)
}
- def monospace(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
+ def monospace(): Inline = {
jump("`")
readUntil { char == '`' }
jump("`")
Monospace(getRead())
}
- def underline(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
+ def underline(): Inline = {
jump("__")
- val i = inline(check("__"), isBlockEnd)
+ val i = inline(check("__"))
jump("__")
Underline(i)
}
- def superscript(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
+ def superscript(): Inline = {
jump("^")
- val i = inline(check("^"), isBlockEnd)
+ val i = inline(check("^"))
jump("^")
Superscript(i)
}
- def subscript(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
+ def subscript(): Inline = {
jump(",,")
- val i = inline(check(",,"), isBlockEnd)
+ val i = inline(check(",,"))
jump(",,")
Subscript(i)
}
- protected val SchemeUri =
- new Regex("""([^:]+:.*)""")
+ def summary(): Inline = {
+ val i = inline(check("."))
+ Summary(
+ if (jump("."))
+ Chain(List(i, Text(".")))
+ else
+ i
+ )
+ }
def entityLink(query: String): Inline = findTemplate(query) match {
case Some(tpl) =>
@@ -485,14 +482,15 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory =>
Text(query)
}
- def link(isInlineEnd: => Boolean, isBlockEnd: => Boolean): Inline = {
+ def link(): Inline = {
+ val SchemeUri = new Regex("""([^:]+:.*)""")
jump("[[")
readUntil { check("]]") || check(" ") }
val target = getRead()
val title =
if (!check("]]")) Some({
jump(" ")
- inline(check("]]"), isBlockEnd)
+ inline(check("]]"))
})
else None
jump("]]")
diff --git a/src/compiler/scala/tools/nsc/io/Path.scala b/src/compiler/scala/tools/nsc/io/Path.scala
index 6b88f3cfca..afef38be3c 100644
--- a/src/compiler/scala/tools/nsc/io/Path.scala
+++ b/src/compiler/scala/tools/nsc/io/Path.scala
@@ -9,9 +9,7 @@ import java.io.{
FileInputStream, FileOutputStream, BufferedReader, BufferedWriter, InputStreamReader, OutputStreamWriter,
BufferedInputStream, BufferedOutputStream, RandomAccessFile, File => JFile }
import java.net.{ URI, URL }
-import collection.{ Seq, Traversable }
-import PartialFunction._
-import scala.util.Random.nextASCIIString
+import scala.util.Random.alphanumeric
/** An abstraction for filesystem paths. The differences between
* Path, File, and Directory are primarily to communicate intent.
@@ -71,7 +69,8 @@ object Path
else if (jfile.isDirectory) new Directory(jfile)
else new Path(jfile)
- private[io] def randomPrefix = nextASCIIString(6)
+ /** Avoiding any shell/path issues by only using alphanumerics. */
+ private[io] def randomPrefix = alphanumeric take 6 mkString
private[io] def fail(msg: String) = throw FileOperationException(msg)
}
import Path._
diff --git a/src/compiler/scala/tools/nsc/settings/MutableSettings.scala b/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
index 8012b9389b..b32796e829 100644
--- a/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
@@ -95,10 +95,7 @@ class MutableSettings(val errorFn: String => Unit) extends AbsSettings with Scal
): Option[List[String]] =
lookupSetting(cmd) match {
case None => errorFn("Parameter '" + cmd + "' is not recognised by Scalac.") ; None
- case Some(cmd) =>
- val res = setter(cmd)(args)
- cmd.postSetHook()
- res
+ case Some(cmd) => setter(cmd)(args)
}
// if arg is of form -Xfoo:bar,baz,quux
@@ -191,10 +188,15 @@ class MutableSettings(val errorFn: String => Unit) extends AbsSettings with Scal
trait SettingValue extends AbsSettingValue {
protected var v: T
protected var setByUser: Boolean = false
+ def postSetHook(): Unit
def isDefault: Boolean = !setByUser
def value: T = v
- def value_=(arg: T) = { setByUser = true ; v = arg }
+ def value_=(arg: T) = {
+ setByUser = true
+ v = arg
+ postSetHook()
+ }
}
/** A class for holding mappings from source directories to
@@ -305,7 +307,7 @@ class MutableSettings(val errorFn: String => Unit) extends AbsSettings with Scal
abstract class Setting(val name: String, val helpDescription: String) extends AbsSetting with SettingValue with Mutable {
/** Will be called after this Setting is set for any extra work. */
private var _postSetHook: this.type => Unit = (x: this.type) => ()
- def postSetHook() = { _postSetHook(this) ; this }
+ def postSetHook(): Unit = _postSetHook(this)
def withPostSetHook(f: this.type => Unit): this.type = { _postSetHook = f ; this }
/** The syntax defining this setting in a help string */
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
index 4c0c1ec739..9c6d6662e3 100644
--- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
@@ -1538,7 +1538,7 @@ trait Symbols extends reflect.generic.Symbols { self: SymbolTable =>
"package object "+owner.nameString
else
compose(List(kindString,
- if (isClassConstructor) owner.simpleName.decode+idString else nameString))
+ if (isClassConstructor) owner.simpleName+idString else nameString))
/** If owner is a package object, its owner, else the normal owner.
*/
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala
index 2cd690fbbf..863ad7bec4 100644
--- a/src/compiler/scala/tools/nsc/symtab/Types.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Types.scala
@@ -3801,6 +3801,18 @@ A type's typeSymbol should never be inspected directly.
private def isUnifiable(pre1: Type, pre2: Type) =
(beginsWithTypeVarOrIsRefined(pre1) || beginsWithTypeVarOrIsRefined(pre2)) && (pre1 =:= pre2)
+ /** Returns true iff we are past phase specialize,
+ * sym1 and sym2 are two existential skolems with equal names and bounds,
+ * and pre1 and pre2 are equal prefixes
+ */
+ private def isSameSpecializedSkolem(sym1: Symbol, sym2: Symbol, pre1: Type, pre2: Type) = {
+ sym1.isExistentialSkolem && sym2.isExistentialSkolem &&
+ sym1.name == sym2.name &&
+ phase.specialized &&
+ sym1.info =:= sym2.info &&
+ pre1 =:= pre2
+ }
+
private def equalSymsAndPrefixes(sym1: Symbol, pre1: Type, sym2: Symbol, pre2: Type): Boolean =
if (sym1 == sym2) sym1.hasFlag(PACKAGE) || phase.erasedTypes || pre1 =:= pre2
else (sym1.name == sym2.name) && isUnifiable(pre1, pre2)
@@ -4264,8 +4276,9 @@ A type's typeSymbol should never be inspected directly.
val pre1 = tr1.pre
val pre2 = tr2.pre
(((if (sym1 == sym2) phase.erasedTypes || pre1 <:< pre2
- else (sym1.name == sym2.name && isUnifiable(pre1, pre2))) &&
- isSubArgs(tr1.args, tr2.args, sym1.typeParams))
+ else (sym1.name == sym2.name &&
+ (isUnifiable(pre1, pre2) || isSameSpecializedSkolem(sym1, sym2, pre1, pre2)))) &&
+ isSubArgs(tr1.args, tr2.args, sym1.typeParams))
||
sym2.isClass && {
val base = tr1 baseType sym2
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index 3a8d93a7a7..c78664bc19 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -221,9 +221,14 @@ abstract class ClassfileParser {
val ownerTpe = getClassOrArrayType(in.getChar(start + 1))
if (settings.debug.value)
log("getMemberSymbol(static: " + static + "): owner type: " + ownerTpe + " " + ownerTpe.typeSymbol.originalName)
- val (name, tpe) = getNameAndType(in.getChar(start + 3), ownerTpe)
+ val (name0, tpe0) = getNameAndType(in.getChar(start + 3), ownerTpe)
if (settings.debug.value)
- log("getMemberSymbol: name and tpe: " + name + ": " + tpe)
+ log("getMemberSymbol: name and tpe: " + name0 + ": " + tpe0)
+
+ forceMangledName(tpe0.typeSymbol.name, false)
+ val (name, tpe) = getNameAndType(in.getChar(start + 3), ownerTpe)
+// println("new tpe: " + tpe + " at phase: " + phase)
+
if (name == nme.MODULE_INSTANCE_FIELD) {
val index = in.getChar(start + 1)
val name = getExternalName(in.getChar(starts(index) + 1))
@@ -240,9 +245,10 @@ abstract class ClassfileParser {
f = owner.info.member(newTermName(origName.toString + nme.LOCAL_SUFFIX)).suchThat(_.tpe =:= tpe)
if (f == NoSymbol) {
// if it's an impl class, try to find it's static member inside the class
- if (ownerTpe.typeSymbol.isImplClass)
+ if (ownerTpe.typeSymbol.isImplClass) {
+// println("impl class, member: " + owner.tpe.member(origName) + ": " + owner.tpe.member(origName).tpe)
f = ownerTpe.member(origName).suchThat(_.tpe =:= tpe)
- else {
+ } else {
log("Couldn't find " + name + ": " + tpe + " inside: \n" + ownerTpe)
f = if (tpe.isInstanceOf[MethodType]) owner.newMethod(owner.pos, name).setInfo(tpe)
else owner.newValue(owner.pos, name).setInfo(tpe).setFlag(MUTABLE)
@@ -384,11 +390,14 @@ abstract class ClassfileParser {
* flatten would not lift classes that were not referenced in the source code.
*/
def forceMangledName(name: Name, module: Boolean): Symbol = {
- val parts = name.toString.split(Array('.', '$'))
+ val parts = name.decode.toString.split(Array('.', '$'))
var sym: Symbol = definitions.RootClass
atPhase(currentRun.flattenPhase.prev) {
- for (part0 <- parts; val part = newTermName(part0)) {
- val sym1 = sym.info.decl(part.encode)//.suchThat(module == _.isModule)
+ for (part0 <- parts; if !(part0 == ""); val part = newTermName(part0)) {
+ val sym1 = atPhase(currentRun.icodePhase) {
+ sym.linkedClassOfClass.info
+ sym.info.decl(part.encode)
+ }//.suchThat(module == _.isModule)
if (sym1 == NoSymbol)
sym = sym.info.decl(part.encode.toTypeName)
else
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
index 92dfb3749a..e129737ebd 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
@@ -99,26 +99,34 @@ abstract class ICodeReader extends ClassfileParser {
val owner = getOwner(jflags)
val dummySym = owner.newMethod(owner.pos, name).setFlag(javaToScalaFlags(jflags))
- var tpe = pool.getType(dummySym, in.nextChar)
-
- if ("<clinit>" == name.toString)
- (jflags, NoSymbol)
- else {
- val owner = getOwner(jflags)
- var sym = owner.info.member(name).suchThat(old => sameType(old.tpe, tpe));
- if (sym == NoSymbol)
- sym = owner.info.member(newTermName(name.toString + nme.LOCAL_SUFFIX)).suchThat(old => old.tpe =:= tpe);
- if (sym == NoSymbol) {
- log("Could not find symbol for " + name + ": " + tpe + " in " + owner.info.decls)
- log(owner.info.member(name).tpe + " : " + tpe)
- if (field)
- sym = owner.newValue(owner.pos, name).setInfo(tpe).setFlag(MUTABLE | javaToScalaFlags(jflags))
- else
- sym = dummySym.setInfo(tpe)
- owner.info.decls.enter(sym)
- log("added " + sym + ": " + sym.tpe)
+ try {
+ val ch = in.nextChar
+ var tpe = pool.getType(dummySym, ch)
+
+ if ("<clinit>" == name.toString)
+ (jflags, NoSymbol)
+ else {
+ val owner = getOwner(jflags)
+ var sym = owner.info.member(name).suchThat(old => sameType(old.tpe, tpe));
+ if (sym == NoSymbol)
+ sym = owner.info.member(newTermName(name.toString + nme.LOCAL_SUFFIX)).suchThat(old => old.tpe =:= tpe);
+ if (sym == NoSymbol) {
+ log("Could not find symbol for " + name + ": " + tpe + " in " + owner.info.decls)
+ log(owner.info.member(name).tpe + " : " + tpe)
+ if (name.toString() == "toMap")
+ tpe = pool.getType(dummySym, ch)
+ if (field)
+ sym = owner.newValue(owner.pos, name).setInfo(tpe).setFlag(MUTABLE | javaToScalaFlags(jflags))
+ else
+ sym = dummySym.setInfo(tpe)
+ owner.info.decls.enter(sym)
+ log("added " + sym + ": " + sym.tpe)
+ }
+ (jflags, sym)
}
- (jflags, sym)
+ } catch {
+ case e: MissingRequirementError =>
+ (jflags, NoSymbol)
}
}
@@ -149,18 +157,25 @@ abstract class ICodeReader extends ClassfileParser {
override def parseMethod() {
val (jflags, sym) = parseMember(false)
- if (sym != NoSymbol) {
- log("Parsing method " + sym.fullName + ": " + sym.tpe);
- this.method = new IMethod(sym);
- this.method.returnType = toTypeKind(sym.tpe.resultType)
- getCode(jflags).addMethod(this.method)
- if ((jflags & JAVA_ACC_NATIVE) != 0)
- this.method.native = true
- val attributeCount = in.nextChar
- for (i <- 0 until attributeCount) parseAttribute()
- } else {
- if (settings.debug.value) log("Skipping non-existent method.");
- skipAttributes();
+ var beginning = in.bp
+ try {
+ if (sym != NoSymbol) {
+ log("Parsing method " + sym.fullName + ": " + sym.tpe);
+ this.method = new IMethod(sym);
+ this.method.returnType = toTypeKind(sym.tpe.resultType)
+ getCode(jflags).addMethod(this.method)
+ if ((jflags & JAVA_ACC_NATIVE) != 0)
+ this.method.native = true
+ val attributeCount = in.nextChar
+ for (i <- 0 until attributeCount) parseAttribute()
+ } else {
+ if (settings.debug.value) log("Skipping non-existent method.");
+ skipAttributes();
+ }
+ } catch {
+ case e: MissingRequirementError =>
+ in.bp = beginning; skipAttributes
+ if (settings.debug.value) log("Skipping non-existent method. " + e.msg);
}
}
@@ -187,12 +202,15 @@ abstract class ICodeReader extends ClassfileParser {
definitions.getClass(name)
} else if (name.endsWith("$")) {
val sym = forceMangledName(name.subName(0, name.length -1).decode, true)
+// println("classNameToSymbol: " + name + " sym: " + sym)
+ if (name.toString == "scala.collection.immutable.Stream$$hash$colon$colon$")
+ print("")
if (sym == NoSymbol)
definitions.getModule(name.subName(0, name.length - 1))
else sym
} else {
forceMangledName(name, false)
- definitions.getClass(name)
+ atPhase(currentRun.flattenPhase.next)(definitions.getClass(name))
}
if (sym.isModule)
sym.moduleClass
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 5ced187128..d5d7ca254e 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -82,7 +82,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
}
/** For a given class and concrete type arguments, give its specialized class */
- val specializedClass: mutable.Map[(Symbol, TypeEnv), Symbol] = new mutable.HashMap
+ val specializedClass: mutable.Map[(Symbol, TypeEnv), Symbol] = new mutable.LinkedHashMap
/** Returns the generic class that was specialized to 'cls', or
* 'cls' itself if cls is not a specialized subclass.
@@ -712,6 +712,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
}
info(opc.overriding) = Forward(om)
log("typeEnv(om) = " + typeEnv(om))
+ om setPos opc.overriding.pos // set the position of the concrete, overriding member
}
overloads(opc.overriding) = Overload(om, env) :: overloads(opc.overriding)
oms += om
@@ -825,12 +826,13 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
val res = tpe match {
case PolyType(targs, ClassInfoType(base, decls, clazz)) =>
val parents = base map specializedType
+ log("transformInfo (poly) " + clazz + " with parents1: " + parents + " ph: " + phase)
PolyType(targs, ClassInfoType(parents, new Scope(specializeClass(clazz, typeEnv(clazz))), clazz))
case ClassInfoType(base, decls, clazz) if !clazz.isPackageClass =>
-// base.map(_.typeSymbol.info)
+ atPhase(phase.next)(base.map(_.typeSymbol.info))
val parents = base map specializedType
- log("transformInfo " + clazz + " with parents1: " + parents)
+ log("transformInfo " + clazz + " with parents1: " + parents + " ph: " + phase)
val res = ClassInfoType(base map specializedType, new Scope(specializeClass(clazz, typeEnv(clazz))), clazz)
res
@@ -993,7 +995,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
if (!env.isEmpty) {
val specMember = overload(symbol, env)
if (specMember.isDefined) {
- if (settings.debug.value) log("** routing " + tree + " to " + specMember.get.sym.fullName + " tree: " + Select(transform(qual), specMember.get.sym.name))
+ if (settings.debug.value) log("** routing " + tree + " to " + specMember.get.sym.fullName)
localTyper.typedOperator(atPos(tree.pos)(Select(transform(qual), specMember.get.sym.name)))
} else {
val qual1 = transform(qual)
@@ -1006,7 +1008,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
else
localTyper.typed(tree1)
} else
- super.transform(tree)
+ treeCopy.Select(tree, qual1, name)
}
} else
super.transform(tree)
@@ -1129,7 +1131,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
case Apply(sel @ Select(sup @ Super(qual, name), name1), args) =>
val res = localTyper.typed(
- Apply(Select(Super(qual, name) setPos sup.pos, name1) setPos sel.pos, args) setPos tree.pos)
+ Apply(Select(Super(qual, name) setPos sup.pos, name1) setPos sel.pos, transformTrees(args)) setPos tree.pos)
log("retyping call to super, from: " + symbol + " to " + res.symbol)
res
@@ -1200,9 +1202,11 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
override def transform(tree: Tree): Tree = tree match {
case Select(qual, name) =>
if (tree.symbol.hasFlag(PRIVATE | PROTECTED)) {
- log("changing private flag of " + tree.symbol)
+ log("changing private flag of " + tree.symbol + " privateWithin: " + tree.symbol.privateWithin)
// tree.symbol.resetFlag(PRIVATE).setFlag(PROTECTED)
- tree.symbol.resetFlag(PRIVATE | PROTECTED)
+ tree.symbol.makeNotPrivate(tree.symbol.owner)
+// tree.symbol.resetFlag(PRIVATE | PROTECTED)
+// tree.symbol.privateWithin = NoSymbol
}
super.transform(tree)
@@ -1277,9 +1281,10 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
mbrs += ValDef(acc, EmptyTree).setType(NoType).setPos(m.pos)
}
// ctor
- mbrs += DefDef(m, Modifiers(m.flags), List(vparams) map (_ map ValDef), EmptyTree)
- } else
- mbrs += DefDef(m, { paramss => EmptyTree })
+ mbrs += atPos(m.pos)(DefDef(m, Modifiers(m.flags), List(vparams) map (_ map ValDef), EmptyTree))
+ } else {
+ mbrs += atPos(m.pos)(DefDef(m, { paramss => EmptyTree }))
+ }
} else if (m.isValue) {
mbrs += ValDef(m, EmptyTree).setType(NoType).setPos(m.pos)
} else if (m.isClass) {
@@ -1293,7 +1298,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
}
/** Create specialized class definitions */
- def implSpecClasses(trees: List[Tree]): List[Tree] = {
+ def implSpecClasses(trees: List[Tree]): List[Tree] = {
val buf = new mutable.ListBuffer[Tree]
for (tree <- trees)
tree match {
diff --git a/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala b/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala
index 5ba52f5f06..6f432cc3c4 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala
@@ -135,7 +135,7 @@ trait Unapplies extends ast.TreeDSL
*/
def caseModuleDef(cdef: ClassDef): ModuleDef = {
def inheritFromFun = !(cdef.mods hasFlag ABSTRACT) && cdef.tparams.isEmpty && constrParamss(cdef).length == 1
- def createFun = gen.scalaFunctionConstr(constrParamss(cdef).head map (_.tpt), toIdent(cdef))
+ def createFun = gen.scalaFunctionConstr(constrParamss(cdef).head map (_.tpt), toIdent(cdef), abstractFun = true)
def parents = if (inheritFromFun) List(createFun) else Nil
companionModuleDef(cdef, parents ::: List(gen.scalaScalaObjectConstr))
diff --git a/src/library/scala/Function0.scala b/src/library/scala/Function0.scala
index 74905d8af7..867c7bc536 100644
--- a/src/library/scala/Function0.scala
+++ b/src/library/scala/Function0.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with fancy comment)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with fancy comment)
package scala
+
/** <p>
* Function with 0 parameters.
* </p>
@@ -35,7 +36,7 @@ package scala
* println(anonfun0())
* }</pre>
*/
-trait Function0[+R] extends AnyRef { self =>
+trait Function0[@specialized +R] extends AnyRef { self =>
def apply(): R
override def toString() = "<function0>"
diff --git a/src/library/scala/Function1.scala b/src/library/scala/Function1.scala
index afc19417a2..a5780f561a 100644
--- a/src/library/scala/Function1.scala
+++ b/src/library/scala/Function1.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with fancy comment) (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with fancy comment) (with extra methods)
package scala
+
/** <p>
* Function with 1 parameter.
* </p>
@@ -35,7 +36,7 @@ package scala
* println(anonfun1(0))
* }</pre>
*/
-trait Function1[@specialized(Int, Long, Double) -T1, @specialized(Unit, Int, Long, Double) +R] extends AnyRef { self =>
+trait Function1[@specialized(Int, Long, Double) -T1, @specialized(Unit, Boolean, Int, Long, Double) +R] extends AnyRef { self =>
def apply(v1:T1): R
override def toString() = "<function1>"
diff --git a/src/library/scala/Function10.scala b/src/library/scala/Function10.scala
index 8eb6fad84e..967d58fa35 100644
--- a/src/library/scala/Function10.scala
+++ b/src/library/scala/Function10.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 10 parameters.
* </p>
diff --git a/src/library/scala/Function11.scala b/src/library/scala/Function11.scala
index 7e94c6d2ca..5d6065ea1c 100644
--- a/src/library/scala/Function11.scala
+++ b/src/library/scala/Function11.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 11 parameters.
* </p>
diff --git a/src/library/scala/Function12.scala b/src/library/scala/Function12.scala
index e14b95fc81..a262e2d8f7 100644
--- a/src/library/scala/Function12.scala
+++ b/src/library/scala/Function12.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 12 parameters.
* </p>
diff --git a/src/library/scala/Function13.scala b/src/library/scala/Function13.scala
index 2deeed8aa7..6b1d0788fb 100644
--- a/src/library/scala/Function13.scala
+++ b/src/library/scala/Function13.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 13 parameters.
* </p>
diff --git a/src/library/scala/Function14.scala b/src/library/scala/Function14.scala
index 596bbb25b8..75b0d25f5e 100644
--- a/src/library/scala/Function14.scala
+++ b/src/library/scala/Function14.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 14 parameters.
* </p>
diff --git a/src/library/scala/Function15.scala b/src/library/scala/Function15.scala
index 9942ab2015..c66015d2aa 100644
--- a/src/library/scala/Function15.scala
+++ b/src/library/scala/Function15.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 15 parameters.
* </p>
diff --git a/src/library/scala/Function16.scala b/src/library/scala/Function16.scala
index 5419b40f8d..5b6968c106 100644
--- a/src/library/scala/Function16.scala
+++ b/src/library/scala/Function16.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 16 parameters.
* </p>
diff --git a/src/library/scala/Function17.scala b/src/library/scala/Function17.scala
index 17caf47a02..74321b950b 100644
--- a/src/library/scala/Function17.scala
+++ b/src/library/scala/Function17.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 17 parameters.
* </p>
diff --git a/src/library/scala/Function18.scala b/src/library/scala/Function18.scala
index 338083ef17..4cb1540161 100644
--- a/src/library/scala/Function18.scala
+++ b/src/library/scala/Function18.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 18 parameters.
* </p>
diff --git a/src/library/scala/Function19.scala b/src/library/scala/Function19.scala
index 92eb2afa29..337b9c4837 100644
--- a/src/library/scala/Function19.scala
+++ b/src/library/scala/Function19.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 19 parameters.
* </p>
diff --git a/src/library/scala/Function2.scala b/src/library/scala/Function2.scala
index 46023a9b3b..44c4e358b8 100644
--- a/src/library/scala/Function2.scala
+++ b/src/library/scala/Function2.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with fancy comment) (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with fancy comment) (with extra methods)
package scala
+
/** <p>
* Function with 2 parameters.
* </p>
@@ -35,9 +36,7 @@ package scala
* println(anonfun2(0, 1))
* }</pre>
*/
-trait Function2[@specialized(Int, Long, Double) -T1,
- @specialized(Int, Long, Double) -T2,
- @specialized(Unit, Int, Long, Double) +R] extends AnyRef { self =>
+trait Function2[@specialized(Int, Long, Double) -T1, @specialized(Int, Long, Double) -T2, @specialized(Unit, Boolean, Int, Long, Double) +R] extends AnyRef { self =>
def apply(v1:T1,v2:T2): R
override def toString() = "<function2>"
diff --git a/src/library/scala/Function20.scala b/src/library/scala/Function20.scala
index 45636a1b7d..d381d2d82e 100644
--- a/src/library/scala/Function20.scala
+++ b/src/library/scala/Function20.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 20 parameters.
* </p>
diff --git a/src/library/scala/Function21.scala b/src/library/scala/Function21.scala
index 4463866a55..b78fd96dd3 100644
--- a/src/library/scala/Function21.scala
+++ b/src/library/scala/Function21.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 21 parameters.
* </p>
diff --git a/src/library/scala/Function22.scala b/src/library/scala/Function22.scala
index c148144ef4..2322a24e9d 100644
--- a/src/library/scala/Function22.scala
+++ b/src/library/scala/Function22.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 22 parameters.
* </p>
diff --git a/src/library/scala/Function3.scala b/src/library/scala/Function3.scala
index 52c777fdc9..82858c356f 100644
--- a/src/library/scala/Function3.scala
+++ b/src/library/scala/Function3.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 3 parameters.
* </p>
diff --git a/src/library/scala/Function4.scala b/src/library/scala/Function4.scala
index 79e92dc4e3..c97c00eb0c 100644
--- a/src/library/scala/Function4.scala
+++ b/src/library/scala/Function4.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 4 parameters.
* </p>
diff --git a/src/library/scala/Function5.scala b/src/library/scala/Function5.scala
index af849300f4..fb798741ea 100644
--- a/src/library/scala/Function5.scala
+++ b/src/library/scala/Function5.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 5 parameters.
* </p>
diff --git a/src/library/scala/Function6.scala b/src/library/scala/Function6.scala
index 487c650fc9..02a2bd4fb7 100644
--- a/src/library/scala/Function6.scala
+++ b/src/library/scala/Function6.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 6 parameters.
* </p>
diff --git a/src/library/scala/Function7.scala b/src/library/scala/Function7.scala
index 76de5c185c..7973bcb87c 100644
--- a/src/library/scala/Function7.scala
+++ b/src/library/scala/Function7.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 7 parameters.
* </p>
diff --git a/src/library/scala/Function8.scala b/src/library/scala/Function8.scala
index c8ca675365..32929db9d6 100644
--- a/src/library/scala/Function8.scala
+++ b/src/library/scala/Function8.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 8 parameters.
* </p>
diff --git a/src/library/scala/Function9.scala b/src/library/scala/Function9.scala
index 338acbcae2..490e44c39b 100644
--- a/src/library/scala/Function9.scala
+++ b/src/library/scala/Function9.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
+
/** <p>
* Function with 9 parameters.
* </p>
diff --git a/src/library/scala/Product1.scala b/src/library/scala/Product1.scala
index 0e93065e5a..af9a7eca20 100644
--- a/src/library/scala/Product1.scala
+++ b/src/library/scala/Product1.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product1 {
def unapply[T1](x: Product1[T1]): Option[Product1[T1]] =
Some(x)
diff --git a/src/library/scala/Product10.scala b/src/library/scala/Product10.scala
index a63a1007fb..d6745d62ad 100644
--- a/src/library/scala/Product10.scala
+++ b/src/library/scala/Product10.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product10 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](x: Product10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Option[Product10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] =
Some(x)
diff --git a/src/library/scala/Product11.scala b/src/library/scala/Product11.scala
index a33df77b64..83cf5f0e55 100644
--- a/src/library/scala/Product11.scala
+++ b/src/library/scala/Product11.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product11 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](x: Product11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]): Option[Product11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]] =
Some(x)
diff --git a/src/library/scala/Product12.scala b/src/library/scala/Product12.scala
index 24b16876a3..845bba720d 100644
--- a/src/library/scala/Product12.scala
+++ b/src/library/scala/Product12.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product12 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](x: Product12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]): Option[Product12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]] =
Some(x)
diff --git a/src/library/scala/Product13.scala b/src/library/scala/Product13.scala
index 1013561af6..374b457789 100644
--- a/src/library/scala/Product13.scala
+++ b/src/library/scala/Product13.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product13 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](x: Product13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]): Option[Product13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]] =
Some(x)
diff --git a/src/library/scala/Product14.scala b/src/library/scala/Product14.scala
index ddeccf7c98..93bb53339d 100644
--- a/src/library/scala/Product14.scala
+++ b/src/library/scala/Product14.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product14 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](x: Product14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]): Option[Product14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]] =
Some(x)
diff --git a/src/library/scala/Product15.scala b/src/library/scala/Product15.scala
index 0f25bda254..71cefbafc5 100644
--- a/src/library/scala/Product15.scala
+++ b/src/library/scala/Product15.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product15 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](x: Product15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]): Option[Product15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]] =
Some(x)
diff --git a/src/library/scala/Product16.scala b/src/library/scala/Product16.scala
index 1fcf2d192b..aa87c9f40b 100644
--- a/src/library/scala/Product16.scala
+++ b/src/library/scala/Product16.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product16 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](x: Product16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]): Option[Product16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]] =
Some(x)
diff --git a/src/library/scala/Product17.scala b/src/library/scala/Product17.scala
index 8c5efa9cc5..7caa99a578 100644
--- a/src/library/scala/Product17.scala
+++ b/src/library/scala/Product17.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product17 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](x: Product17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]): Option[Product17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]] =
Some(x)
diff --git a/src/library/scala/Product18.scala b/src/library/scala/Product18.scala
index 6ab150b1d1..ca0b168c83 100644
--- a/src/library/scala/Product18.scala
+++ b/src/library/scala/Product18.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product18 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](x: Product18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]): Option[Product18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]] =
Some(x)
diff --git a/src/library/scala/Product19.scala b/src/library/scala/Product19.scala
index 86fc2e43fb..88256c44fd 100644
--- a/src/library/scala/Product19.scala
+++ b/src/library/scala/Product19.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product19 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](x: Product19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]): Option[Product19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]] =
Some(x)
diff --git a/src/library/scala/Product2.scala b/src/library/scala/Product2.scala
index 436de41a01..6ce804fc89 100644
--- a/src/library/scala/Product2.scala
+++ b/src/library/scala/Product2.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product2 {
def unapply[T1, T2](x: Product2[T1, T2]): Option[Product2[T1, T2]] =
Some(x)
@@ -22,8 +23,7 @@ object Product2 {
*
* @since 2.3
*/
-trait Product2[@specialized(Int, Long, Double) +T1,
- @specialized(Int, Long, Double) +T2] extends Product {
+trait Product2[@specialized(Int, Long, Double) +T1, @specialized(Int, Long, Double) +T2] extends Product {
/**
* The arity of this product.
* @return 2
diff --git a/src/library/scala/Product20.scala b/src/library/scala/Product20.scala
index cc398f7bb4..b9aab6988d 100644
--- a/src/library/scala/Product20.scala
+++ b/src/library/scala/Product20.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product20 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](x: Product20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]): Option[Product20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]] =
Some(x)
diff --git a/src/library/scala/Product21.scala b/src/library/scala/Product21.scala
index b215c466ae..9ab61d35ca 100644
--- a/src/library/scala/Product21.scala
+++ b/src/library/scala/Product21.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product21 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](x: Product21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]): Option[Product21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]] =
Some(x)
diff --git a/src/library/scala/Product22.scala b/src/library/scala/Product22.scala
index f7e10a2652..86fbaeca7f 100644
--- a/src/library/scala/Product22.scala
+++ b/src/library/scala/Product22.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
object Product22 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](x: Product22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]): Option[Product22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]] =
Some(x)
diff --git a/src/library/scala/Product3.scala b/src/library/scala/Product3.scala
index 0fbd855b86..09044716a4 100644
--- a/src/library/scala/Product3.scala
+++ b/src/library/scala/Product3.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product3 {
def unapply[T1, T2, T3](x: Product3[T1, T2, T3]): Option[Product3[T1, T2, T3]] =
Some(x)
diff --git a/src/library/scala/Product4.scala b/src/library/scala/Product4.scala
index efeec3c601..c6a5c74bb5 100644
--- a/src/library/scala/Product4.scala
+++ b/src/library/scala/Product4.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product4 {
def unapply[T1, T2, T3, T4](x: Product4[T1, T2, T3, T4]): Option[Product4[T1, T2, T3, T4]] =
Some(x)
diff --git a/src/library/scala/Product5.scala b/src/library/scala/Product5.scala
index 64e59b6b1d..147fb2d305 100644
--- a/src/library/scala/Product5.scala
+++ b/src/library/scala/Product5.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product5 {
def unapply[T1, T2, T3, T4, T5](x: Product5[T1, T2, T3, T4, T5]): Option[Product5[T1, T2, T3, T4, T5]] =
Some(x)
diff --git a/src/library/scala/Product6.scala b/src/library/scala/Product6.scala
index a2a819ef51..f967992e5e 100644
--- a/src/library/scala/Product6.scala
+++ b/src/library/scala/Product6.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product6 {
def unapply[T1, T2, T3, T4, T5, T6](x: Product6[T1, T2, T3, T4, T5, T6]): Option[Product6[T1, T2, T3, T4, T5, T6]] =
Some(x)
diff --git a/src/library/scala/Product7.scala b/src/library/scala/Product7.scala
index b9fa32bf00..c7a9baef98 100644
--- a/src/library/scala/Product7.scala
+++ b/src/library/scala/Product7.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product7 {
def unapply[T1, T2, T3, T4, T5, T6, T7](x: Product7[T1, T2, T3, T4, T5, T6, T7]): Option[Product7[T1, T2, T3, T4, T5, T6, T7]] =
Some(x)
diff --git a/src/library/scala/Product8.scala b/src/library/scala/Product8.scala
index 0f5aa6100a..8663b0868b 100644
--- a/src/library/scala/Product8.scala
+++ b/src/library/scala/Product8.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product8 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8](x: Product8[T1, T2, T3, T4, T5, T6, T7, T8]): Option[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] =
Some(x)
diff --git a/src/library/scala/Product9.scala b/src/library/scala/Product9.scala
index 6adce6023f..8d2de090ab 100644
--- a/src/library/scala/Product9.scala
+++ b/src/library/scala/Product9.scala
@@ -8,11 +8,12 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:17 CEST 2010
package scala
+
object Product9 {
def unapply[T1, T2, T3, T4, T5, T6, T7, T8, T9](x: Product9[T1, T2, T3, T4, T5, T6, T7, T8, T9]): Option[Product9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] =
Some(x)
diff --git a/src/library/scala/Tuple1.scala b/src/library/scala/Tuple1.scala
index 5d25cc5abb..d8f8126f42 100644
--- a/src/library/scala/Tuple1.scala
+++ b/src/library/scala/Tuple1.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple1 is the canonical representation of a @see Product1
*
*/
diff --git a/src/library/scala/Tuple10.scala b/src/library/scala/Tuple10.scala
index c9e38eec29..11889b3485 100644
--- a/src/library/scala/Tuple10.scala
+++ b/src/library/scala/Tuple10.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple10 is the canonical representation of a @see Product10
*
*/
diff --git a/src/library/scala/Tuple11.scala b/src/library/scala/Tuple11.scala
index 546800f3af..b44141c1ee 100644
--- a/src/library/scala/Tuple11.scala
+++ b/src/library/scala/Tuple11.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple11 is the canonical representation of a @see Product11
*
*/
diff --git a/src/library/scala/Tuple12.scala b/src/library/scala/Tuple12.scala
index 0f2d4e9af0..37a172e74f 100644
--- a/src/library/scala/Tuple12.scala
+++ b/src/library/scala/Tuple12.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple12 is the canonical representation of a @see Product12
*
*/
diff --git a/src/library/scala/Tuple13.scala b/src/library/scala/Tuple13.scala
index d9d540d334..68d4a5aa8f 100644
--- a/src/library/scala/Tuple13.scala
+++ b/src/library/scala/Tuple13.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple13 is the canonical representation of a @see Product13
*
*/
diff --git a/src/library/scala/Tuple14.scala b/src/library/scala/Tuple14.scala
index 18ea35a9f4..424beb040e 100644
--- a/src/library/scala/Tuple14.scala
+++ b/src/library/scala/Tuple14.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple14 is the canonical representation of a @see Product14
*
*/
diff --git a/src/library/scala/Tuple15.scala b/src/library/scala/Tuple15.scala
index cb1742786c..944ff9d1b5 100644
--- a/src/library/scala/Tuple15.scala
+++ b/src/library/scala/Tuple15.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple15 is the canonical representation of a @see Product15
*
*/
diff --git a/src/library/scala/Tuple16.scala b/src/library/scala/Tuple16.scala
index 0af7feeb45..276220fbf5 100644
--- a/src/library/scala/Tuple16.scala
+++ b/src/library/scala/Tuple16.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple16 is the canonical representation of a @see Product16
*
*/
diff --git a/src/library/scala/Tuple17.scala b/src/library/scala/Tuple17.scala
index ef02d51fc6..d965ca8504 100644
--- a/src/library/scala/Tuple17.scala
+++ b/src/library/scala/Tuple17.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple17 is the canonical representation of a @see Product17
*
*/
diff --git a/src/library/scala/Tuple18.scala b/src/library/scala/Tuple18.scala
index 6f2489e41d..77cc635034 100644
--- a/src/library/scala/Tuple18.scala
+++ b/src/library/scala/Tuple18.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple18 is the canonical representation of a @see Product18
*
*/
diff --git a/src/library/scala/Tuple19.scala b/src/library/scala/Tuple19.scala
index ad69657e2c..540aaa3893 100644
--- a/src/library/scala/Tuple19.scala
+++ b/src/library/scala/Tuple19.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple19 is the canonical representation of a @see Product19
*
*/
diff --git a/src/library/scala/Tuple2.scala b/src/library/scala/Tuple2.scala
index 7fea22410d..ee2fe84482 100644
--- a/src/library/scala/Tuple2.scala
+++ b/src/library/scala/Tuple2.scala
@@ -8,7 +8,7 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010 (with extra methods)
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
@@ -16,11 +16,12 @@ import scala.collection.{TraversableLike, IterableLike}
import scala.collection.generic.CanBuildFrom
+
+
/** Tuple2 is the canonical representation of a @see Product2
*
*/
-case class Tuple2[@specialized(Int, Long, Double) +T1,
- @specialized(Int, Long, Double) +T2](_1:T1,_2:T2)
+case class Tuple2[@specialized(Int, Long, Double) +T1, @specialized(Int, Long, Double) +T2](_1:T1,_2:T2)
extends Product2[T1, T2]
{
override def toString() = "(" + _1 + "," + _2 + ")"
@@ -122,4 +123,5 @@ case class Tuple2[@specialized(Int, Long, Double) +T1,
f(el1, elems2.next)
}
}
+
}
diff --git a/src/library/scala/Tuple20.scala b/src/library/scala/Tuple20.scala
index 5f4d4b26e8..58e7018518 100644
--- a/src/library/scala/Tuple20.scala
+++ b/src/library/scala/Tuple20.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple20 is the canonical representation of a @see Product20
*
*/
diff --git a/src/library/scala/Tuple21.scala b/src/library/scala/Tuple21.scala
index 780cbd15ad..e302bfbd80 100644
--- a/src/library/scala/Tuple21.scala
+++ b/src/library/scala/Tuple21.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple21 is the canonical representation of a @see Product21
*
*/
diff --git a/src/library/scala/Tuple22.scala b/src/library/scala/Tuple22.scala
index f45cab85fa..2fd4fc7166 100644
--- a/src/library/scala/Tuple22.scala
+++ b/src/library/scala/Tuple22.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple22 is the canonical representation of a @see Product22
*
*/
diff --git a/src/library/scala/Tuple3.scala b/src/library/scala/Tuple3.scala
index a1fca95e4d..e6464cf52c 100644
--- a/src/library/scala/Tuple3.scala
+++ b/src/library/scala/Tuple3.scala
@@ -8,13 +8,16 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods)
package scala
import scala.collection.{TraversableLike, IterableLike}
import scala.collection.generic.CanBuildFrom
+
+
+
/** Tuple3 is the canonical representation of a @see Product3
*
*/
@@ -136,4 +139,5 @@ case class Tuple3[+T1, +T2, +T3](_1:T1,_2:T2,_3:T3)
f(el1, elems2.next, elems3.next)
}
}
+
}
diff --git a/src/library/scala/Tuple4.scala b/src/library/scala/Tuple4.scala
index fbf5d341a4..55cfae2c03 100644
--- a/src/library/scala/Tuple4.scala
+++ b/src/library/scala/Tuple4.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple4 is the canonical representation of a @see Product4
*
*/
diff --git a/src/library/scala/Tuple5.scala b/src/library/scala/Tuple5.scala
index 033f26263d..ec52ee039e 100644
--- a/src/library/scala/Tuple5.scala
+++ b/src/library/scala/Tuple5.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple5 is the canonical representation of a @see Product5
*
*/
diff --git a/src/library/scala/Tuple6.scala b/src/library/scala/Tuple6.scala
index d360adad2a..5f41c1de2a 100644
--- a/src/library/scala/Tuple6.scala
+++ b/src/library/scala/Tuple6.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple6 is the canonical representation of a @see Product6
*
*/
diff --git a/src/library/scala/Tuple7.scala b/src/library/scala/Tuple7.scala
index 5a080c2e0e..0e2315c573 100644
--- a/src/library/scala/Tuple7.scala
+++ b/src/library/scala/Tuple7.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple7 is the canonical representation of a @see Product7
*
*/
diff --git a/src/library/scala/Tuple8.scala b/src/library/scala/Tuple8.scala
index 551c5e5d34..58b2e13af8 100644
--- a/src/library/scala/Tuple8.scala
+++ b/src/library/scala/Tuple8.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple8 is the canonical representation of a @see Product8
*
*/
diff --git a/src/library/scala/Tuple9.scala b/src/library/scala/Tuple9.scala
index 8098daaf40..360228cb68 100644
--- a/src/library/scala/Tuple9.scala
+++ b/src/library/scala/Tuple9.scala
@@ -8,12 +8,13 @@
// $Id$
-// generated by genprod on Sun Jan 17 19:38:09 PST 2010
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
package scala
+
/** Tuple9 is the canonical representation of a @see Product9
*
*/
diff --git a/src/library/scala/collection/BitSetLike.scala b/src/library/scala/collection/BitSetLike.scala
index 7c5e2fb269..3028cca6eb 100644
--- a/src/library/scala/collection/BitSetLike.scala
+++ b/src/library/scala/collection/BitSetLike.scala
@@ -41,7 +41,7 @@ trait BitSetLike[+This <: BitSetLike[This] with Set[Int]] extends SetLike[Int, T
protected def nwords: Int
/** The words at index `idx', or 0L if outside the range of the set
- * @note Requires `idx >= 0`
+ * '''Note:''' requires `idx >= 0`
*/
protected def word(idx: Int): Long
diff --git a/src/library/scala/collection/IndexedSeq.scala b/src/library/scala/collection/IndexedSeq.scala
index 72878a8ad6..78165cb242 100644
--- a/src/library/scala/collection/IndexedSeq.scala
+++ b/src/library/scala/collection/IndexedSeq.scala
@@ -24,6 +24,7 @@ trait IndexedSeq[+A] extends Seq[A]
}
/** $factoryInfo
+ * The current default implementation of a $Coll is a `Vector`.
* @define coll indexed sequence
* @define Coll IndexedSeq
*/
diff --git a/src/library/scala/collection/IndexedSeqLike.scala b/src/library/scala/collection/IndexedSeqLike.scala
index 453b4384f7..7bfad167c6 100644
--- a/src/library/scala/collection/IndexedSeqLike.scala
+++ b/src/library/scala/collection/IndexedSeqLike.scala
@@ -66,13 +66,13 @@ trait IndexedSeqLike[+A, +Repr] extends SeqLike[A, Repr] { self =>
if (i < end) self(i) else Iterator.empty.next
/** $super
- * @note `drop` is overridden to enable fast searching in the middle of indexed sequences.
+ * '''Note:''' `drop` is overridden to enable fast searching in the middle of indexed sequences.
*/
override def drop(n: Int): Iterator[A] =
if (n > 0) new Elements(start + n, end) else this
/** $super
- * @note `take` is overridden to be symmetric to `drop`.
+ * '''Note:''' `take` is overridden to be symmetric to `drop`.
*/
override def take(n: Int): Iterator[A] =
if (n <= 0) Iterator.empty.buffered
diff --git a/src/library/scala/collection/Iterable.scala b/src/library/scala/collection/Iterable.scala
index 65d4dfcbe2..2baacec9f9 100644
--- a/src/library/scala/collection/Iterable.scala
+++ b/src/library/scala/collection/Iterable.scala
@@ -36,6 +36,7 @@ trait Iterable[+A] extends Traversable[A]
}
/** $factoryInfo
+ * The current default implementation of a $Coll is a `Vector`.
* @define coll iterable collection
* @define Coll Iterable
*/
diff --git a/src/library/scala/collection/IterableView.scala b/src/library/scala/collection/IterableView.scala
index 436c000909..a6078bcdc8 100644
--- a/src/library/scala/collection/IterableView.scala
+++ b/src/library/scala/collection/IterableView.scala
@@ -14,14 +14,14 @@ package scala.collection
import generic._
import TraversableView.NoBuilder
-/** A base class for views of Iterables.
- *
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
+/** A base trait for non-strict views of `Iterable`s.
+ * $iterableViewInfo
*/
trait IterableView[+A, +Coll] extends IterableViewLike[A, Coll, IterableView[A, Coll]]
+/** An object containing the necessary implicit definitions to make
+ * `IterableView`s work. Its definitions are generally not accessed directly by clients.
+ */
object IterableView {
type Coll = TraversableView[_, C] forSome {type C <: Traversable[_]}
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IterableView[A, Iterable[_]]] =
diff --git a/src/library/scala/collection/IterableViewLike.scala b/src/library/scala/collection/IterableViewLike.scala
index b8f0b65faf..49fcee842c 100644
--- a/src/library/scala/collection/IterableViewLike.scala
+++ b/src/library/scala/collection/IterableViewLike.scala
@@ -16,11 +16,11 @@ import collection.immutable.Stream
import TraversableView.NoBuilder
/** A template trait for non-strict views of iterable collections.
- * $iterableviewInfo
+ * $iterableViewInfo
*
- * @define iterableviewInfo
- * $viewinfo
- * All views for iterable collections are defined by creating a new `iterator` method.
+ * @define iterableViewInfo
+ * $viewInfo
+ * All views for iterable collections are defined by re-interpreting the `iterator` method.
*
* @author Martin Odersky
* @version 2.8
diff --git a/src/library/scala/collection/Iterator.scala b/src/library/scala/collection/Iterator.scala
index 2ee4e8056e..24c447b24b 100644
--- a/src/library/scala/collection/Iterator.scala
+++ b/src/library/scala/collection/Iterator.scala
@@ -32,10 +32,10 @@ object Iterator {
}
/** Creates an iterator which produces a single element.
+ * '''Note:''' Equivalent, but more efficient than Iterator(elem)
* @param elem the element
* @return An iterator which produces `elem` on the first call to `next`,
* and which has no further elements.
- * @note Equivalent, but more efficient than Iterator(elem)
*/
def single[A](elem: A) = new Iterator[A] {
private var hasnext = true
@@ -429,7 +429,7 @@ trait Iterator[+A] extends TraversableOnce[A] {
* satisfy the predicate `p`. The order of the elements
* is preserved.
*
- * @note `withFilter` is the same as `filter` on iterators. It exists so that
+ * '''Note:''' `withFilter` is the same as `filter` on iterators. It exists so that
* for-expressions with filters work over iterators.
*
* @param p the predicate used to test values.
@@ -1033,10 +1033,10 @@ trait Iterator[+A] extends TraversableOnce[A] {
* this sequence starting at position `start`. Like `copyToArray`,
* but designed to accomodate IO stream operations.
*
+ * '''Note:''' the array must be large enough to hold `sz` elements.
* @param xs the array to fill.
* @param start the starting index.
* @param sz the maximum number of elements to be read.
- * @note the array must be large enough to hold `sz` elements.
*/
@deprecated("use copyToArray instead")
def readInto[B >: A](xs: Array[B], start: Int, sz: Int) {
diff --git a/src/library/scala/collection/LinearSeq.scala b/src/library/scala/collection/LinearSeq.scala
index ef7d4c9390..ba0eb6a22d 100644
--- a/src/library/scala/collection/LinearSeq.scala
+++ b/src/library/scala/collection/LinearSeq.scala
@@ -24,6 +24,7 @@ trait LinearSeq[+A] extends Seq[A]
}
/** $factoryInfo
+ * The current default implementation of a $Coll is a `Vector`.
* @define coll linear sequence
* @define Coll LinearSeq
*/
diff --git a/src/library/scala/collection/Map.scala b/src/library/scala/collection/Map.scala
index 9d44a950de..0722d55f03 100644
--- a/src/library/scala/collection/Map.scala
+++ b/src/library/scala/collection/Map.scala
@@ -13,43 +13,33 @@ package scala.collection
import generic._
-/** <p>
- * A map from keys of type <code>A</code> to values of type <code>B</code>.
- * To implement a concrete map, you need to provide implementations of the
- * following methods (where <code>This</code> is the type of the map in question):
- * </p><pre>
- * <b>def</b> get(key: A): Option[B]
- * <b>def</b> iterator: Iterator[(A, B)]
- * <b>def</b> + [B1 >: B](kv: (A, B1)): This
- * <b>def</b> -(key: A): This</pre>
- * <p>
- * If you wish that methods like `take`, `drop`, `filter` return the same kind
- * of map, you should also override:
- * </p><pre>
- * <b>def</b> empty: This</pre>
- * <p>
- * It might also be a good idea to override methods <code>foreach</code>
- * and <code>size</code> for efficiency.
- * </p>
+/**
+ * A map from keys of type `A` to values of type `B`.
*
- * @note If you do not have specific implementations for `add` and `-` in mind,
- * you might consider inheriting from <code>DefaultMap</code> instead.
+ * $mapnote
*
- * @note If your additions and mutations return the same kind of map as the map
- * you are defining, you should inherit from <code>MapLike</code> as well.
+ * '''Note:''' If you do not have specific implementations for `add` and `-` in mind,
+ * you might consider inheriting from `DefaultMap` instead.
*
- * @since 1
+ * '''Note:''' If your additions and mutations return the same kind of map as the map
+ * you are defining, you should inherit from `MapLike` as well.
+ *
+ * @tparam A the type of the keys in this map.
+ * @tparam B the type of the values associated with keys.
+ *
+ * @since 1
*/
trait Map[A, +B] extends Iterable[(A, B)] with MapLike[A, B, Map[A, B]] {
def empty: Map[A, B] = Map.empty
}
-/* Factory object for `Map` class
- *
- * @since 2.5
+/** $factoryInfo
+ * @define Coll Map
+ * @define coll map
*/
object Map extends MapFactory[Map] {
def empty[A, B]: immutable.Map[A, B] = immutable.Map.empty
+ /** $mapCanBuildFromInfo */
implicit def canBuildFrom[A, B]: CanBuildFrom[Coll, (A, B), Map[A, B]] = new MapCanBuildFrom[A, B]
}
diff --git a/src/library/scala/collection/MapLike.scala b/src/library/scala/collection/MapLike.scala
index 057224a705..9bca2f09a0 100644
--- a/src/library/scala/collection/MapLike.scala
+++ b/src/library/scala/collection/MapLike.scala
@@ -15,20 +15,14 @@ import mutable.{Builder, StringBuilder, MapBuilder}
import annotation.migration
import PartialFunction._
-/** A template trait for maps of type `Map[A, B]` which associate keys of type `A`
- * with values of type `B`.
+/** A template trait for maps, which associate keys with values.
*
- * @tparam A the type of the keys.
- * @tparam B the type of associated values.
- * @tparam This the type of the map itself.
- *
- * $mapnote
+ * $mapNote
+ * $mapTags
+ * @since 2.8
*
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
- * $mapnote
- * @define $mapnote @note
+ * @define mapNote
+ * '''Implementation note:'''
* This trait provides most of the operations of a `Map` independently of its representation.
* It is typically inherited by concrete implementations of maps.
*
@@ -47,6 +41,15 @@ import PartialFunction._
* }}}
* It is also good idea to override methods `foreach` and
* `size` for efficiency.
+ *
+ * @define mapTags
+ * @tparam A the type of the keys.
+ * @tparam B the type of associated values.
+ * @tparam This the type of the map itself.
+ *
+ * @author Martin Odersky
+ * @version 2.8
+ *
* @define coll map
* @define Coll Map
* @define willNotTerminateInf
@@ -287,14 +290,15 @@ self =>
((repr: Map[A, B1]) /: xs) (_ + _)
/** Returns a new map with all key/value pairs for which the predicate
- * <code>p</code> returns <code>true</code>.
+ * `p` returns `true`.
*
- * @param p A predicate over key-value pairs
- * @note This method works by successively removing elements fro which the
+ * '''Note:''' This method works by successively removing elements fro which the
* predicate is false from this set.
* If removal is slow, or you expect that most elements of the set
- * will be removed, you might consider using <code>filter</code>
+ * will be removed, you might consider using `filter`
* with a negated predicate instead.
+ * @param p A predicate over key-value pairs
+ * @return A new map containing elements not satisfying the predicate.
*/
override def filterNot(p: ((A, B)) => Boolean): This = {
var res: This = repr
diff --git a/src/library/scala/collection/Seq.scala b/src/library/scala/collection/Seq.scala
index baf2c0031e..f6b89b67b8 100644
--- a/src/library/scala/collection/Seq.scala
+++ b/src/library/scala/collection/Seq.scala
@@ -25,6 +25,7 @@ trait Seq[+A] extends PartialFunction[Int, A]
}
/** $factoryInfo
+ * The current default implementation of a $Coll is a `Vector`.
* @define coll sequence
* @define Coll Seq
*/
diff --git a/src/library/scala/collection/SeqView.scala b/src/library/scala/collection/SeqView.scala
index 9a0025bd81..68819e899d 100644
--- a/src/library/scala/collection/SeqView.scala
+++ b/src/library/scala/collection/SeqView.scala
@@ -14,16 +14,13 @@ package scala.collection
import generic._
import TraversableView.NoBuilder
-/** A non-strict projection of an iterable.
- * @author Sean McDirmid
- * @author Martin Odersky
- * @version 2.8
+/** A base trait for non-strict views of sequences.
+ * $seqViewInfo
*/
trait SeqView[+A, +Coll] extends SeqViewLike[A, Coll, SeqView[A, Coll]]
-/** $factoryInfo
- * @define coll sequence view
- * @define Coll SeqView
+/** An object containing the necessary implicit definitions to make
+ * `SeqView`s work. Its definitions are generally not accessed directly by clients.
*/
object SeqView {
type Coll = TraversableView[_, C] forSome {type C <: Traversable[_]}
diff --git a/src/library/scala/collection/SeqViewLike.scala b/src/library/scala/collection/SeqViewLike.scala
index 7014833a46..6f1f29f536 100644
--- a/src/library/scala/collection/SeqViewLike.scala
+++ b/src/library/scala/collection/SeqViewLike.scala
@@ -15,10 +15,19 @@ import generic._
import Seq.fill
import TraversableView.NoBuilder
-/** A template trait for a non-strict view of a sequence.
- * @author Sean McDirmid
- * @author Martin Odersky
- * @version 2.8
+/** A template trait for non-strict views of sequences.
+ * $seqViewInfo
+ *
+ * @define seqViewInfo
+ * $viewInfo
+ * All views for sequences are defined by re-interpreting the `length` and `apply` methods.
+ *
+ * @author Martin Odersky
+ * @version 2.8
+ * @since 2.8
+ * @tparam A the element type of the view
+ * @tparam Coll the type of the underlying collection containing the elements.
+ * @tparam This the type of the view itself
*/
trait SeqViewLike[+A,
+Coll,
diff --git a/src/library/scala/collection/Set.scala b/src/library/scala/collection/Set.scala
index 3a6313a187..034d9f1705 100644
--- a/src/library/scala/collection/Set.scala
+++ b/src/library/scala/collection/Set.scala
@@ -12,14 +12,16 @@ package scala.collection
import generic._
-/** <p>
- * A set is a collection that includes at most one of any object.
- * </p>
+/** A base trait for all sets, mutable as well as immutable.
*
- * @author Matthias Zenger
- * @author Martin Odersky
- * @version 2.8
- * @since 1
+ * $setNote
+ * $setNote2
+ * $setTags
+ * @since 1.0
+ * @author Matthias Zenger
+ * @define setNote2
+ * '''Implementation note:''' If your additions and mutations return the same kind of set as the set
+ * you are defining, you should inherit from `SetLike` as well.
*/
trait Set[A] extends (A => Boolean)
with Iterable[A]
@@ -28,11 +30,11 @@ trait Set[A] extends (A => Boolean)
override def companion: GenericCompanion[Set] = Set
}
-/** Factory object for <code>Set</code> class.
- *
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
+/** $factoryInfo
+ * The current default implementation of a $Coll is one of `EmptySet`, `Set1`, `Set2`, `Set3`, `Set4` in
+ * class `immutable.Set` for sets of sizes up to 4, and a `immutable.HashSet` for sets of larger sizes.
+ * @define coll set
+ * @define Coll Set
*/
object Set extends SetFactory[Set] {
override def empty[A]: Set[A] = immutable.Set.empty[A]
diff --git a/src/library/scala/collection/SetLike.scala b/src/library/scala/collection/SetLike.scala
index 44dac8e8fe..5a16b975df 100644
--- a/src/library/scala/collection/SetLike.scala
+++ b/src/library/scala/collection/SetLike.scala
@@ -14,20 +14,21 @@ import generic._
import mutable.{Builder, AddingBuilder}
import PartialFunction._
-/** A template trait for sets of type `Set[A]`.
+/** A template trait for sets.
*
- * This trait provides most of the operations of a `Set` independently of its representation.
- * It is typically inherited by concrete implementations of sets.
+ * $setNote
+ * $setTags
+ * @since 2.8
*
- * $setnote
+ * @define setNote
*
- * @tparam A the type of the elements of the set
- * @tparam This the type of the set itself.
+ * A set is a collection that contains no duplicate elements.
*
- * @author Martin Odersky
- * @version 2.8
- * @define setnote
- * To implement a concrete set, you need to provide implementations of the
+ * '''Implementation note:'''
+ * This trait provides most of the operations of a `Set` independently of its representation.
+ * It is typically inherited by concrete implementations of sets.
+ *
+ * To implement a concrete set, you need to provide implementations of the
* following methods:
* {{{
* def contains(key: A): Boolean
@@ -42,10 +43,18 @@ import PartialFunction._
* }}}
* It is also good idea to override methods `foreach` and
* `size` for efficiency.
- * @define coll set
- * @define Coll Set
- * @define willNotTerminateInf
- * @define mayNotTerminateInf
+ *
+ * @define setTags
+ * @tparam A the type of the elements of the set
+ * @tparam This the type of the set itself.
+ *
+ * @author Martin Odersky
+ * @version 2.8
+ *
+ * @define coll set
+ * @define Coll Set
+ * @define willNotTerminateInf
+ * @define mayNotTerminateInf
*/
trait SetLike[A, +This <: SetLike[A, This] with Set[A]]
extends IterableLike[A, This]
@@ -113,10 +122,10 @@ self =>
/** Computes the intersection between this set and another set.
*
+ * '''Note:''' Same as `intersect`.
* @param that the set to intersect with.
* @return a new set consisting of all elements that are both in this
* set and in the given set `that`.
- * @note Same as `intersect`.
*/
def &(that: Set[A]): This = intersect(that)
@@ -138,10 +147,10 @@ self =>
/** Computes the union between this set and another set.
*
+ * '''Note:''' Same as `union`.
* @param that the set to form the union with.
* @return a new set consisting of all elements that are in this
* set or in the given set `that`.
- * @note Same as `union`.
*/
def | (that: Set[A]): This = union(that)
@@ -155,10 +164,10 @@ self =>
/** The difference of this set and another set.
*
+ * '''Note:''' Same as `diff`.
* @param that the set of elements to exclude.
* @return a set containing those elements of this
* set that are not also contained in the given set `that`.
- * @note Same as `diff`.
*/
def &~(that: Set[A]): This = diff(that)
@@ -181,13 +190,13 @@ self =>
/** Compares this set with another object for equality.
*
- * @param that the other object
- * @return `true` if `that` is a set which contains the same elements
- * as this set.
- * @note This operation contains an unchecked cast: if `that`
+ * '''Note:''' This operation contains an unchecked cast: if `that`
* is a set, it will assume with an unchecked cast
* that it has the same element type as this set.
* Any subsequent ClassCastException is treated as a `false` result.
+ * @param that the other object
+ * @return `true` if `that` is a set which contains the same elements
+ * as this set.
*/
override def equals(that: Any): Boolean = that match {
case that: Set[_] =>
diff --git a/src/library/scala/collection/Traversable.scala b/src/library/scala/collection/Traversable.scala
index 4a1cd01af1..b3383ba802 100644
--- a/src/library/scala/collection/Traversable.scala
+++ b/src/library/scala/collection/Traversable.scala
@@ -83,6 +83,7 @@ trait Traversable[+A] extends TraversableLike[A, Traversable[A]]
}
/** $factoryInfo
+ * The current default implementation of a $Coll is a `Vector`.
*/
object Traversable extends TraversableFactory[Traversable] { self =>
diff --git a/src/library/scala/collection/TraversableView.scala b/src/library/scala/collection/TraversableView.scala
index ccc33a495d..6d7fa70968 100644
--- a/src/library/scala/collection/TraversableView.scala
+++ b/src/library/scala/collection/TraversableView.scala
@@ -15,10 +15,14 @@ import generic._
import mutable.Builder
import TraversableView.NoBuilder
-/** $traversableviewinfo
+/** A base trait for non-strict views of traversable collections.
+ * $traversableViewInfo
*/
trait TraversableView[+A, +Coll] extends TraversableViewLike[A, Coll, TraversableView[A, Coll]]
+/** An object containing the necessary implicit definitions to make
+ * `TraversableView`s work. Its definitions are generally not accessed directly by clients.
+ */
object TraversableView {
class NoBuilder[A] extends Builder[A, Nothing] {
def +=(elem: A): this.type = this
diff --git a/src/library/scala/collection/generic/GenericCompanion.scala b/src/library/scala/collection/generic/GenericCompanion.scala
index 4332a1c936..2a87f8d913 100644
--- a/src/library/scala/collection/generic/GenericCompanion.scala
+++ b/src/library/scala/collection/generic/GenericCompanion.scala
@@ -28,13 +28,18 @@ abstract class GenericCompanion[+CC[X] <: Traversable[X]] {
/** The underlying collection type with unknown element type */
type Coll = CC[_]
- /** The default builder for $Coll objects. */
+ /** The default builder for `$Coll` objects.
+ * @tparam A the type of the ${coll}'s elements
+ */
def newBuilder[A]: Builder[A, CC[A]]
- /** The empty collection of type $Coll[A] */
+ /** An empty collection of type `$Coll[A]`
+ * @tparam A the type of the ${coll}'s elements
+ */
def empty[A]: CC[A] = newBuilder[A].result
/** Creates a $coll with the specified elements.
+ * @tparam A the type of the ${coll}'s elements
* @param elems the elements of the created $coll
* @return a new $coll with elements `elems`
*/
diff --git a/src/library/scala/collection/generic/ImmutableMapFactory.scala b/src/library/scala/collection/generic/ImmutableMapFactory.scala
index 2fd22e7f02..512014ba09 100644
--- a/src/library/scala/collection/generic/ImmutableMapFactory.scala
+++ b/src/library/scala/collection/generic/ImmutableMapFactory.scala
@@ -11,9 +11,9 @@
package scala.collection
package generic
-/** A template for companion objects of <code>immutable.Map</code> and
- * subclasses thereof.
- *
- * @since 2.8
+/** A template for companion objects of `immutable.Map` and subclasses thereof.
+ * @author Martin Odersky
+ * @version 2.8
+ * @since 2.8
*/
abstract class ImmutableMapFactory[CC[A, +B] <: immutable.Map[A, B] with immutable.MapLike[A, B, CC[A, B]]] extends MapFactory[CC]
diff --git a/src/library/scala/collection/generic/ImmutableSortedMapFactory.scala b/src/library/scala/collection/generic/ImmutableSortedMapFactory.scala
index d5c372ba74..d30f57f0ce 100644
--- a/src/library/scala/collection/generic/ImmutableSortedMapFactory.scala
+++ b/src/library/scala/collection/generic/ImmutableSortedMapFactory.scala
@@ -12,8 +12,16 @@
package scala.collection
package generic
-/** A template for companion objects of immutable.Map and subclasses thereof.
+/** A template for companion objects of `SortedMap` and subclasses thereof.
*
* @since 2.8
+ * @define Coll SortedMap
+ * @define coll sorted map
+ * @define factoryInfo
+ * This object provides a set of operations needed to create sorted maps of type `$Coll`.
+ * @author Martin Odersky
+ * @version 2.8
+ * @define sortedMapCanBuildFromInfo
+ * The standard `CanBuildFrom` instance for sorted maps
*/
abstract class ImmutableSortedMapFactory[CC[A, B] <: immutable.SortedMap[A, B] with SortedMapLike[A, B, CC[A, B]]] extends SortedMapFactory[CC]
diff --git a/src/library/scala/collection/generic/ImmutableSortedSetFactory.scala b/src/library/scala/collection/generic/ImmutableSortedSetFactory.scala
index df5c2c7959..684e7c41f1 100644
--- a/src/library/scala/collection/generic/ImmutableSortedSetFactory.scala
+++ b/src/library/scala/collection/generic/ImmutableSortedSetFactory.scala
@@ -12,8 +12,16 @@
package scala.collection
package generic
-/** A template for companion objects of mutable.Map and subclasses thereof.
+/** A template for companion objects of `SortedSet` and subclasses thereof.
*
* @since 2.8
+ * @define Coll immutable.SortedSet
+ * @define coll immutable sorted
+ * @define factoryInfo
+ * This object provides a set of operations needed to create sorted sets of type `$Coll`.
+ * @author Martin Odersky
+ * @version 2.8
+ * @define sortedSetCanBuildFromInfo
+ * The standard `CanBuildFrom` instance for sorted sets
*/
abstract class ImmutableSortedSetFactory[CC[A] <: immutable.SortedSet[A] with SortedSetLike[A, CC[A]]] extends SortedSetFactory[CC] \ No newline at end of file
diff --git a/src/library/scala/collection/generic/MapFactory.scala b/src/library/scala/collection/generic/MapFactory.scala
index fc04f28f26..163c289e23 100644
--- a/src/library/scala/collection/generic/MapFactory.scala
+++ b/src/library/scala/collection/generic/MapFactory.scala
@@ -22,6 +22,7 @@ import mutable.{Builder, MapBuilder}
* This object provides a set of operations needed to create `$Coll` values.
* @author Martin Odersky
* @version 2.8
+ * @since 2.8
* @define canBuildFromInfo
* The standard `CanBuildFrom` instance for `$Coll` objects.
* @see CanBuildFrom
@@ -33,14 +34,28 @@ import mutable.{Builder, MapBuilder}
*/
abstract class MapFactory[CC[A, B] <: Map[A, B] with MapLike[A, B, CC[A, B]]] {
+ /** The type constructor of the collection that can be built by this factory */
type Coll = CC[_, _]
+ /** An empty $Coll */
def empty[A, B]: CC[A, B]
+ /** A collection of type $Coll that contains given key/value bindings.
+ * @param elems the key/value pairs that make up the $coll
+ * @tparam A the type of the keys
+ * @tparam B the type of the associated values
+ * @return a new $coll consisting key/value pairs given by `elems`.
+ */
def apply[A, B](elems: (A, B)*): CC[A, B] = (newBuilder[A, B] ++= elems).result
+ /** The default builder for $Coll objects.
+ * @tparam A the type of the keys
+ * @tparam B the type of the associated values
+ */
def newBuilder[A, B]: Builder[(A, B), CC[A, B]] = new MapBuilder[A, B, CC[A, B]](empty[A, B])
+ /** The standard `CanBuildFrom` class for maps.
+ */
class MapCanBuildFrom[A, B] extends CanBuildFrom[Coll, (A, B), CC[A, B]] {
def apply(from: Coll) = newBuilder[A, B]
def apply() = newBuilder
diff --git a/src/library/scala/collection/generic/MutableMapFactory.scala b/src/library/scala/collection/generic/MutableMapFactory.scala
index 0f1608ee71..2fdb827d05 100644
--- a/src/library/scala/collection/generic/MutableMapFactory.scala
+++ b/src/library/scala/collection/generic/MutableMapFactory.scala
@@ -14,9 +14,10 @@ package generic
import mutable.MapBuilder
-/** A template for companion objects of `mutable.Map` and subclasses thereof.
- *
- * @since 2.8
+/** A template for companion objects of `immutable.Map` and subclasses thereof.
+ * @author Martin Odersky
+ * @version 2.8
+ * @since 2.8
*/
abstract class MutableMapFactory[CC[A, B] <: mutable.Map[A, B] with mutable.MapLike[A, B, CC[A, B]]]
extends MapFactory[CC]
diff --git a/src/library/scala/collection/generic/SetFactory.scala b/src/library/scala/collection/generic/SetFactory.scala
index 6a237d453c..1c4ec3e7e3 100644
--- a/src/library/scala/collection/generic/SetFactory.scala
+++ b/src/library/scala/collection/generic/SetFactory.scala
@@ -14,8 +14,7 @@ package generic
import mutable.{Builder, AddingBuilder}
-/** A template for companion objects of <code>Set</code> and subclasses
- * thereof.
+/** A template for companion objects of `Set` and subclasses thereof.
*
* @define coll set
* @define Coll Set
@@ -23,6 +22,7 @@ import mutable.{Builder, AddingBuilder}
* This object provides a set of operations needed to create `$Coll` values.
* @author Martin Odersky
* @version 2.8
+ * @since 2.8
* @define canBuildFromInfo
* The standard `CanBuildFrom` instance for `$Coll` objects.
* @see CanBuildFrom
@@ -36,6 +36,8 @@ abstract class SetFactory[CC[X] <: Set[X] with SetLike[X, CC[X]]]
def newBuilder[A]: Builder[A, CC[A]] = new AddingBuilder[A, CC[A]](empty[A])
+ /** $setCanBuildFromInfo
+ */
def setCanBuildFrom[A] = new CanBuildFrom[CC[_], A, CC[A]] {
def apply(from: CC[_]) = newBuilder[A]
def apply() = newBuilder[A]
diff --git a/src/library/scala/collection/immutable/BitSet.scala b/src/library/scala/collection/immutable/BitSet.scala
index 857b537904..9b801f26cb 100644
--- a/src/library/scala/collection/immutable/BitSet.scala
+++ b/src/library/scala/collection/immutable/BitSet.scala
@@ -17,6 +17,8 @@ import BitSetLike.{LogWL, updateArray}
/** A class for immutable bitsets.
* $bitsetinfo
+ * @define Coll immutable.BitSet
+ * @define coll immutable bitset
*/
@serializable @SerialVersionUID(1611436763290191562L)
abstract class BitSet extends Set[Int]
@@ -53,12 +55,16 @@ abstract class BitSet extends Set[Int]
}
}
-/** A factory object for bitsets */
+/** $factoryInfo
+ * @define Coll immutable.BitSet
+ * @define coll immutable bitset
+ */
object BitSet extends BitSetFactory[BitSet] {
/** The empty bitset */
val empty: BitSet = new BitSet1(0L)
+ /** $bitsetCanBuildFrom */
implicit def canBuildFrom: CanBuildFrom[BitSet, Int, BitSet] = bitsetCanBuildFrom
/** A bitset containing all the bits in an array */
diff --git a/src/library/scala/collection/immutable/DefaultMap.scala b/src/library/scala/collection/immutable/DefaultMap.scala
index a19b35aff0..667d86d352 100755
--- a/src/library/scala/collection/immutable/DefaultMap.scala
+++ b/src/library/scala/collection/immutable/DefaultMap.scala
@@ -14,22 +14,24 @@ package immutable
import generic._
-/** <p>
- * A default map which implements the <code>updated</code> and <code>-</code>
- * methods of maps.<br/>
- * Instances that inherit from <code>DefaultMap[A, B]</code> still have to
- * define:
- * </p>
- * <pre>
- * <b>def</b> get(key: A): Option[B]
- * <b>def</b> iterator: Iterator[(A, B)]</pre>
- * <p>
- * It refers back to the original map.
- * </p>
- * <p>
- * It might also be advisable to override <code>foreach</code> or
- * <code>size</code> if efficient implementations can be found.
- * </p>
+/** A default map which implements the `+` and `-`
+ * methods of maps. It does so using the default builder for
+ * maps defined in the `Map` object.
+ * Instances that inherit from `DefaultMap[A, B]` still have to
+ * define:
+ *
+ * {{{
+ * def get(key: A): Option[B]
+ * def iterator: Iterator[(A, B)]
+ * }}}
+ *
+ * It refers back to the original map.
+ *
+ * It might also be advisable to override `foreach` or
+ * `size` if efficient implementations can be found.
+ *
+ * @tparam A the type of the keys contained in this map.
+ * @tparam B the type of the values associated with the keys.
*
* @since 2.8
*/
@@ -52,3 +54,13 @@ trait DefaultMap[A, +B] extends Map[A, B] { self =>
b.result
}
}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/library/scala/collection/immutable/HashMap.scala b/src/library/scala/collection/immutable/HashMap.scala
index e0f801546c..b82e50ec06 100644
--- a/src/library/scala/collection/immutable/HashMap.scala
+++ b/src/library/scala/collection/immutable/HashMap.scala
@@ -15,17 +15,22 @@ package immutable
import generic._
import annotation.unchecked.uncheckedVariance
-/** <p>
- * This class implements immutable maps using a hash trie.
- * </p>
+/** This class implements immutable maps using a hash trie.
*
- * @note the builder of a hash map returns specialized representations EmptyMap,Map1,..., Map4
- * for maps of size <= 4.
+ * '''Note:''' the builder of a hash map returns specialized representations EmptyMap,Map1,..., Map4
+ * for maps of size <= 4.
+ *
+ * @tparam A the type of the keys contained in this hash map.
+ * @tparam B the type of the values associated with the keys.
*
* @author Martin Odersky
* @author Tiark Rompf
* @version 2.8
* @since 2.3
+ * @define Coll immutable.HashMap
+ * @define coll immutable hash map
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable @SerialVersionUID(2L)
class HashMap[A, +B] extends Map[A,B] with MapLike[A, B, HashMap[A, B]] {
@@ -70,20 +75,22 @@ class HashMap[A, +B] extends Map[A,B] with MapLike[A, B, HashMap[A, B]] {
protected def updated0[B1 >: B](key: A, hash: Int, level: Int, value: B1, kv: (A, B1)): HashMap[A, B1] =
new HashMap.HashMap1(key, hash, value, kv)
+ protected def removed0(key: A, hash: Int, level: Int): HashMap[A, B] = this
- protected def removed0(key: A, hash: Int, level: Int): HashMap[A, B] = this
+ protected def writeReplace(): AnyRef = new HashMap.SerializationProxy(this)
}
-/** A factory object for immutable HashMaps.
+/** $factoryInfo
+ * @define Coll immutable.HashMap
+ * @define coll immutable hash map
*
- * @author Martin Odersky
* @author Tiark Rompf
- * @version 2.8
* @since 2.3
*/
object HashMap extends ImmutableMapFactory[HashMap] {
+ /** $mapCanBuildFromInfo */
implicit def canBuildFrom[A, B]: CanBuildFrom[Coll, (A, B), HashMap[A, B]] = new MapCanBuildFrom[A, B]
def empty[A, B]: HashMap[A, B] = EmptyHashMap.asInstanceOf[HashMap[A, B]]
@@ -108,14 +115,7 @@ object HashMap extends ImmutableMapFactory[HashMap] {
m.updated0(this.key, this.hash, level, this.value, this.kv).updated0(key, hash, level, value, kv)
} else {
// 32-bit hash collision (rare, but not impossible)
- // wrap this in a HashTrieMap if called with level == 0 (otherwise serialization won't work)
- if (level == 0) {
- val elems = new Array[HashMap[A,B1]](1)
- elems(0) = new HashMapCollision1(hash, ListMap.empty.updated(this.key,this.value).updated(key,value))
- new HashTrieMap[A,B1](1 << ((hash >>> level) & 0x1f), elems, 2)
- } else {
- new HashMapCollision1(hash, ListMap.empty.updated(this.key,this.value).updated(key,value))
- }
+ new HashMapCollision1(hash, ListMap.empty.updated(this.key,this.value).updated(key,value))
}
}
@@ -125,18 +125,6 @@ object HashMap extends ImmutableMapFactory[HashMap] {
override def iterator: Iterator[(A,B)] = Iterator(ensurePair)
override def foreach[U](f: ((A, B)) => U): Unit = f(ensurePair)
private[HashMap] def ensurePair: (A,B) = if (kv ne null) kv else { kv = (key, value); kv }
-
- private def writeObject(out: java.io.ObjectOutputStream) {
- out.writeObject(key)
- out.writeObject(value)
- }
-
- private def readObject(in: java.io.ObjectInputStream) {
- key = in.readObject().asInstanceOf[A]
- value = in.readObject().asInstanceOf[B]
- hash = computeHash(key)
- }
-
}
private class HashMapCollision1[A,+B](private[HashMap] var hash: Int, var kvs: ListMap[A,B @uncheckedVariance]) extends HashMap[A,B] {
@@ -166,22 +154,6 @@ object HashMap extends ImmutableMapFactory[HashMap] {
override def iterator: Iterator[(A,B)] = kvs.iterator
override def foreach[U](f: ((A, B)) => U): Unit = kvs.foreach(f)
-
- private def writeObject(out: java.io.ObjectOutputStream) {
- // this cannot work - reading things in might produce different
- // hash codes and remove the collision. however this is never called
- // because no references to this class are ever handed out to client code
- // and HashTrieMap serialization takes care of the situation
- error("cannot serialize an immutable.HashMap where all items have the same 32-bit hash code")
- //out.writeObject(kvs)
- }
-
- private def readObject(in: java.io.ObjectInputStream) {
- error("cannot deserialize an immutable.HashMap where all items have the same 32-bit hash code")
- //kvs = in.readObject().asInstanceOf[ListMap[A,B]]
- //hash = computeHash(kvs.)
- }
-
}
@@ -246,19 +218,27 @@ object HashMap extends ImmutableMapFactory[HashMap] {
val index = (hash >>> level) & 0x1f
val mask = (1 << index)
val offset = Integer.bitCount(bitmap & (mask-1))
- if (((bitmap >>> index) & 1) == 1) {
- val elemsNew = new Array[HashMap[A,B]](elems.length)
- Array.copy(elems, 0, elemsNew, 0, elems.length)
+ if ((bitmap & mask) != 0) {
val sub = elems(offset)
// TODO: might be worth checking if sub is HashTrieMap (-> monomorphic call site)
val subNew = sub.removed0(key, hash, level + 5)
- elemsNew(offset) = subNew
- // TODO: handle shrinking
- val sizeNew = size + (subNew.size - sub.size)
- if (sizeNew > 0)
- new HashTrieMap(bitmap, elemsNew, size + (subNew.size - sub.size))
- else
- HashMap.empty[A,B]
+ if (subNew.isEmpty) {
+ val bitmapNew = bitmap ^ mask
+ if (bitmapNew != 0) {
+ val elemsNew = new Array[HashMap[A,B]](elems.length - 1)
+ Array.copy(elems, 0, elemsNew, 0, offset)
+ Array.copy(elems, offset + 1, elemsNew, offset, elems.length - offset - 1)
+ val sizeNew = size - sub.size
+ new HashTrieMap(bitmapNew, elemsNew, sizeNew)
+ } else
+ HashMap.empty[A,B]
+ } else {
+ val elemsNew = new Array[HashMap[A,B]](elems.length)
+ Array.copy(elems, 0, elemsNew, 0, elems.length)
+ elemsNew(offset) = subNew
+ val sizeNew = size + (subNew.size - sub.size)
+ new HashTrieMap(bitmap, elemsNew, sizeNew)
+ }
} else {
this
}
@@ -367,31 +347,29 @@ time { mNew.iterator.foreach( p => ()) }
}
}
+ }
+ @serializable @SerialVersionUID(2L) private class SerializationProxy[A,B](@transient private var orig: HashMap[A, B]) {
private def writeObject(out: java.io.ObjectOutputStream) {
- // no out.defaultWriteObject()
- out.writeInt(size)
- foreach { p =>
- out.writeObject(p._1)
- out.writeObject(p._2)
+ val s = orig.size
+ out.writeInt(s)
+ for ((k,v) <- orig) {
+ out.writeObject(k)
+ out.writeObject(v)
}
}
private def readObject(in: java.io.ObjectInputStream) {
- val size = in.readInt
- var index = 0
- var m = HashMap.empty[A,B]
- while (index < size) {
- // TODO: optimize (use unsafe mutable update)
- m = m + ((in.readObject.asInstanceOf[A], in.readObject.asInstanceOf[B]))
- index += 1
+ orig = empty
+ val s = in.readInt()
+ for (i <- 0 until s) {
+ val key = in.readObject().asInstanceOf[A]
+ val value = in.readObject().asInstanceOf[B]
+ orig = orig.updated(key, value)
}
- var tm = m.asInstanceOf[HashTrieMap[A,B]]
- bitmap = tm.bitmap
- elems = tm.elems
- size0 = tm.size0
}
+ private def readResolve(): AnyRef = orig
}
}
diff --git a/src/library/scala/collection/immutable/HashSet.scala b/src/library/scala/collection/immutable/HashSet.scala
index e79b456a2f..68da0cef50 100644
--- a/src/library/scala/collection/immutable/HashSet.scala
+++ b/src/library/scala/collection/immutable/HashSet.scala
@@ -15,16 +15,19 @@ package immutable
import generic._
import annotation.unchecked.uncheckedVariance
-/**
- * This class implements immutable sets using a hash trie.
+/** This class implements immutable sets using a hash trie.
*
- * @note the builder of a hash set returns specialized representations `EmptySet`,`Set1`,..., `Set4`
- * for sets of `size <= 4`.
+ * '''Note:''' the builder of a hash set returns specialized representations `EmptySet`,`Set1`,..., `Set4`
+ * for sets of `size <= 4`.
+ *
+ * @tparam A the type of the elements contained in this hash set.
*
* @author Martin Odersky
* @author Tiark Rompf
* @version 2.8
* @since 2.3
+ * @define Coll immutable.HashSet
+ * @define coll immutable hash set
*/
@serializable @SerialVersionUID(2L)
class HashSet[A] extends Set[A]
@@ -69,28 +72,24 @@ class HashSet[A] extends Set[A]
protected def updated0(key: A, hash: Int, level: Int): HashSet[A] =
new HashSet.HashSet1(key, hash)
-
-
protected def removed0(key: A, hash: Int, level: Int): HashSet[A] = this
+ protected def writeReplace(): AnyRef = new HashSet.SerializationProxy(this)
}
-/*
-object HashSet extends SetFactory[HashSet] {
- implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, HashSet[A]] = setCanBuildFrom[A]
- override def empty[A]: HashSet[A] = new HashSet
-}
-*/
-
-
-/** A factory object for immutable HashSets.
+/** $factoryInfo
+ * @define Coll immutable.HashSet
+ * @define coll immutable hash set
*
- * @author Martin Odersky
* @author Tiark Rompf
- * @version 2.8
* @since 2.3
+ * @define Coll immutable.HashSet
+ * @define coll immutable hash set
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
object HashSet extends SetFactory[HashSet] {
+ /** $setCanBuildFromInfo */
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, HashSet[A]] = setCanBuildFrom[A]
override def empty[A]: HashSet[A] = EmptyHashSet.asInstanceOf[HashSet[A]]
@@ -114,14 +113,7 @@ object HashSet extends SetFactory[HashSet] {
m.updated0(this.key, this.hash, level).updated0(key, hash, level)
} else {
// 32-bit hash collision (rare, but not impossible)
- // wrap this in a HashTrieSet if called with level == 0 (otherwise serialization won't work)
- if (level == 0) {
- val elems = new Array[HashSet[A]](1)
- elems(0) = new HashSetCollision1(hash, ListSet.empty + this.key + key)
- new HashTrieSet[A](1 << ((hash >>> level) & 0x1f), elems, 2)
- } else {
- new HashSetCollision1(hash, ListSet.empty + this.key + key)
- }
+ new HashSetCollision1(hash, ListSet.empty + this.key + key)
}
}
@@ -130,16 +122,6 @@ object HashSet extends SetFactory[HashSet] {
override def iterator: Iterator[A] = Iterator(key)
override def foreach[U](f: A => U): Unit = f(key)
-
- private def writeObject(out: java.io.ObjectOutputStream) {
- out.writeObject(key)
- }
-
- private def readObject(in: java.io.ObjectInputStream) {
- key = in.readObject().asInstanceOf[A]
- hash = computeHash(key)
- }
-
}
private class HashSetCollision1[A](private[HashSet] var hash: Int, var ks: ListSet[A]) extends HashSet[A] {
@@ -232,24 +214,33 @@ object HashSet extends SetFactory[HashSet] {
val index = (hash >>> level) & 0x1f
val mask = (1 << index)
val offset = Integer.bitCount(bitmap & (mask-1))
- if (((bitmap >>> index) & 1) == 1) {
- val elemsNew = new Array[HashSet[A]](elems.length)
- Array.copy(elems, 0, elemsNew, 0, elems.length)
+ if ((bitmap & mask) != 0) {
val sub = elems(offset)
- // TODO: might be worth checking if sub is HashTrieSet (-> monomorphic call site)
+ // TODO: might be worth checking if sub is HashTrieMap (-> monomorphic call site)
val subNew = sub.removed0(key, hash, level + 5)
- elemsNew(offset) = subNew
- // TODO: handle shrinking
- val sizeNew = size + (subNew.size - sub.size)
- if (sizeNew > 0)
- new HashTrieSet(bitmap, elemsNew, size + (subNew.size - sub.size))
- else
- HashSet.empty[A]
+ if (subNew.isEmpty) {
+ val bitmapNew = bitmap ^ mask
+ if (bitmapNew != 0) {
+ val elemsNew = new Array[HashSet[A]](elems.length - 1)
+ Array.copy(elems, 0, elemsNew, 0, offset)
+ Array.copy(elems, offset + 1, elemsNew, offset, elems.length - offset - 1)
+ val sizeNew = size - sub.size
+ new HashTrieSet(bitmapNew, elemsNew, sizeNew)
+ } else
+ HashSet.empty[A]
+ } else {
+ val elemsNew = new Array[HashSet[A]](elems.length)
+ Array.copy(elems, 0, elemsNew, 0, elems.length)
+ elemsNew(offset) = subNew
+ val sizeNew = size + (subNew.size - sub.size)
+ new HashTrieSet(bitmap, elemsNew, sizeNew)
+ }
} else {
this
}
}
+
override def iterator = new Iterator[A] {
private[this] var depth = 0
private[this] var arrayStack = new Array[Array[HashSet[A]]](6)
@@ -333,31 +324,27 @@ time { mNew.iterator.foreach( p => ()) }
i += 1
}
}
+ }
-
+ @serializable @SerialVersionUID(2L) private class SerializationProxy[A,B](@transient private var orig: HashSet[A]) {
private def writeObject(out: java.io.ObjectOutputStream) {
- // no out.defaultWriteObject()
- out.writeInt(size)
- foreach { e =>
+ val s = orig.size
+ out.writeInt(s)
+ for (e <- orig) {
out.writeObject(e)
}
}
private def readObject(in: java.io.ObjectInputStream) {
- val size = in.readInt
- var index = 0
- var m = HashSet.empty[A]
- while (index < size) {
- // TODO: optimize (use unsafe mutable update)
- m = m + in.readObject.asInstanceOf[A]
- index += 1
+ orig = empty
+ val s = in.readInt()
+ for (i <- 0 until s) {
+ val e = in.readObject().asInstanceOf[A]
+ orig = orig + e
}
- var tm = m.asInstanceOf[HashTrieSet[A]]
- bitmap = tm.bitmap
- elems = tm.elems
- size0 = tm.size0
}
+ private def readResolve(): AnyRef = orig
}
}
diff --git a/src/library/scala/collection/immutable/IndexedSeq.scala b/src/library/scala/collection/immutable/IndexedSeq.scala
index 268bd56a85..d3223fd106 100644
--- a/src/library/scala/collection/immutable/IndexedSeq.scala
+++ b/src/library/scala/collection/immutable/IndexedSeq.scala
@@ -14,7 +14,7 @@ package immutable
import generic._
import mutable.{ArrayBuffer, Builder}
-/** A subtrait of <code>collection.IndexedSeq</code> which represents indexed sequences
+/** A subtrait of `collection.IndexedSeq` which represents indexed sequences
* that are guaranteed immutable.
* $indexedSeqInfo
*/
@@ -26,6 +26,7 @@ trait IndexedSeq[+A] extends Seq[A]
}
/** $factoryInfo
+ * The current default implementation of a $Coll is a `Vector`.
* @define coll indexed sequence
* @define Coll IndexedSeq
*/
diff --git a/src/library/scala/collection/immutable/IntMap.scala b/src/library/scala/collection/immutable/IntMap.scala
index 75a25e0223..90dfa541e3 100644
--- a/src/library/scala/collection/immutable/IntMap.scala
+++ b/src/library/scala/collection/immutable/IntMap.scala
@@ -12,8 +12,8 @@
package scala.collection
package immutable;
-/**
- * @author David MacIver
+/** Utility class for integer maps.
+ * @author David MacIver
*/
private[immutable] object IntMapUtils {
def zero(i : Int, mask : Int) = (i & mask) == 0;
@@ -50,8 +50,8 @@ private[immutable] object IntMapUtils {
import IntMapUtils._
-/**
- * @since 2.7
+/** A companion object for integer maps.
+ * @since 2.7
*/
object IntMap {
def empty[T] : IntMap[T] = IntMap.Nil;
@@ -146,15 +146,19 @@ private[immutable] class IntMapKeyIterator[V](it : IntMap[V]) extends IntMapIter
import IntMap._
-/**
- * Specialised immutable map structure for integer keys, based on
- * <a href="http://citeseer.ist.psu.edu/okasaki98fast.html">Fast Mergeable Integer Maps</a>
- * by Okasaki and Gill. Essentially a trie based on binary digits of the the integers.
+/** Specialised immutable map structure for integer keys, based on
+ * <a href="http://citeseer.ist.psu.edu/okasaki98fast.html">Fast Mergeable Integer Maps</a>
+ * by Okasaki and Gill. Essentially a trie based on binary digits of the the integers.
*
- * Note: This class is as of 2.8 largely superseded by HashMap.
+ * Note: This class is as of 2.8 largely superseded by HashMap.
*
- * @since 2.7
+ * @tparam T type of the values associated with integer keys.
*
+ * @since 2.7
+ * @define Coll immutable.IntMap
+ * @define coll immutable integer map
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
sealed abstract class IntMap[+T] extends Map[Int, T] with MapLike[Int, T, IntMap[T]] {
override def empty: IntMap[T] = IntMap.Nil;
diff --git a/src/library/scala/collection/immutable/Iterable.scala b/src/library/scala/collection/immutable/Iterable.scala
index 795fc2fa92..e0ef5ffcc1 100644
--- a/src/library/scala/collection/immutable/Iterable.scala
+++ b/src/library/scala/collection/immutable/Iterable.scala
@@ -17,6 +17,9 @@ import mutable.Builder
/** A base trait for iterable collections that are guaranteed immutable.
* $iterableInfo
+ *
+ * @define Coll immutable.Iterable
+ * @define coll immutable iterable collection
*/
trait Iterable[+A] extends Traversable[A]
with scala.collection.Iterable[A]
@@ -25,14 +28,11 @@ trait Iterable[+A] extends Traversable[A]
override def companion: GenericCompanion[Iterable] = Iterable
}
-/** A factory object for the trait <code>Iterable</code>.
- *
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
+/** $factoryInfo
+ * @define Coll immutable.Iterable
+ * @define coll immutable iterable collection
*/
object Iterable extends TraversableFactory[Iterable] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = new GenericCanBuildFrom[A]
def newBuilder[A]: Builder[A, Iterable[A]] = new mutable.ListBuffer
}
-
diff --git a/src/library/scala/collection/immutable/LinearSeq.scala b/src/library/scala/collection/immutable/LinearSeq.scala
index 9cb35dced5..180844ce79 100644
--- a/src/library/scala/collection/immutable/LinearSeq.scala
+++ b/src/library/scala/collection/immutable/LinearSeq.scala
@@ -15,7 +15,7 @@ package immutable
import generic._
import mutable.Builder
-/** A subtrait of <code>collection.LinearSeq</code> which represents sequences that
+/** A subtrait of `collection.LinearSeq` which represents sequences that
* are guaranteed immutable.
* $linearSeqInfo
*/
@@ -27,8 +27,9 @@ trait LinearSeq[+A] extends Seq[A]
}
/** $factoryInfo
- * @define coll linear sequence
- * @define Coll LinearSeq
+ * The current default implementation of a $Coll is a `List`.
+ * @define coll immutable linear sequence
+ * @define Coll immutable.LinearSeq
*/
object LinearSeq extends SeqFactory[LinearSeq] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = new GenericCanBuildFrom[A]
diff --git a/src/library/scala/collection/immutable/ListMap.scala b/src/library/scala/collection/immutable/ListMap.scala
index 4342e54a9d..a88c3a52d5 100644
--- a/src/library/scala/collection/immutable/ListMap.scala
+++ b/src/library/scala/collection/immutable/ListMap.scala
@@ -14,25 +14,34 @@ package immutable
import generic._
-/** The canonical factory of <a href="ListMap.html">ListMap</a>'s.
- *
+/** $factoryInfo
* @since 1
+ * @define Coll immutable.ListMap
+ * @define coll immutable list map
*/
object ListMap extends ImmutableMapFactory[ListMap] {
+ /** $mapCanBuildFromInfo */
implicit def canBuildFrom[A, B]: CanBuildFrom[Coll, (A, B), ListMap[A, B]] =
new MapCanBuildFrom[A, B]
def empty[A, B]: ListMap[A, B] = new ListMap
}
/** This class implements immutable maps using a list-based data
- * structure. Instances of <code>ListMap</code> represent
+ * structure. Instances of `ListMap` represent
* empty maps; they can be either created by calling the constructor
- * directly, or by applying the function <code>ListMap.empty</code>.
+ * directly, or by applying the function `ListMap.empty`.
+ *
+ * @tparam A the type of the keys in this list map.
+ * @tparam B the type of the values associated with the keys.
*
* @author Matthias Zenger
* @author Martin Odersky
* @version 2.0, 01/01/2007
* @since 1
+ * @define Coll immutable.ListMap
+ * @define coll immutable list map
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable @SerialVersionUID(301002838095710379L)
class ListMap[A, +B] extends Map[A, B] with MapLike[A, B, ListMap[A, B]] {
@@ -45,7 +54,7 @@ class ListMap[A, +B] extends Map[A, B] with MapLike[A, B, ListMap[A, B]] {
*/
override def size: Int = 0
- /** Checks if this map maps <code>key</code> to a value and return the
+ /** Checks if this map maps `key` to a value and return the
* value if it exists.
*
* @param key the key of the mapping of interest
diff --git a/src/library/scala/collection/immutable/ListSet.scala b/src/library/scala/collection/immutable/ListSet.scala
index f7b76d2317..2a202df9ef 100644
--- a/src/library/scala/collection/immutable/ListSet.scala
+++ b/src/library/scala/collection/immutable/ListSet.scala
@@ -14,24 +14,32 @@ package immutable
import generic._
-/** The canonical factory of <a href="ListSet.html">ListSet</a>'s
- *
+/** $factoryInfo
+ * @define Coll immutable.ListSet
+ * @define coll immutable list set
* @since 1
*/
object ListSet extends SetFactory[ListSet] {
+ /** setCanBuildFromInfo */
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, ListSet[A]] = setCanBuildFrom[A]
override def empty[A] = new ListSet[A]
}
/** This class implements immutable sets using a list-based data
- * structure. Instances of <code>ListSet</code> represent
+ * structure. Instances of `ListSet` represent
* empty sets; they can be either created by calling the constructor
- * directly, or by applying the function <code>ListSet.empty</code>.
+ * directly, or by applying the function `ListSet.empty`.
+ *
+ * @tparam A the type of the elements contained in this list set.
*
* @author Matthias Zenger
* @version 1.0, 09/07/2003
* @since 1
+ * @define Coll immutable.ListSet
+ * @define coll immutable list set
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable
class ListSet[A] extends Set[A]
diff --git a/src/library/scala/collection/immutable/LongMap.scala b/src/library/scala/collection/immutable/LongMap.scala
index 24afb65b99..691a81d9f0 100644
--- a/src/library/scala/collection/immutable/LongMap.scala
+++ b/src/library/scala/collection/immutable/LongMap.scala
@@ -1,8 +1,8 @@
package scala.collection
package immutable
-/**
- * @author David MacIver
+/** Utility class for long maps.
+ * @author David MacIver
*/
private[immutable] object LongMapUtils{
def zero(i : Long, mask : Long) = (i & mask) == 0L;
@@ -40,8 +40,8 @@ private[immutable] object LongMapUtils{
import LongMapUtils._
-/**
- * @since 2.7
+/** A companion object for long maps.
+ * @since 2.7
*/
object LongMap{
def empty[T] : LongMap[T] = LongMap.Nil;
@@ -134,13 +134,19 @@ private[immutable] class LongMapKeyIterator[V](it : LongMap[V]) extends LongMapI
import LongMap._;
/**
- * Specialised immutable map structure for long keys, based on
- * <a href="http://citeseer.ist.psu.edu/okasaki98fast.html">Fast Mergeable Long Maps</a>
- * by Okasaki and Gill. Essentially a trie based on binary digits of the the integers.
+ * Specialised immutable map structure for long keys, based on
+ * <a href="http://citeseer.ist.psu.edu/okasaki98fast.html">Fast Mergeable Long Maps</a>
+ * by Okasaki and Gill. Essentially a trie based on binary digits of the the integers.
+ *
+ * Note: This class is as of 2.8 largely superseded by HashMap.
*
- * Note: This class is as of 2.8 largely superseded by HashMap.
+ * @tparam T type of the values associated with the long keys.
*
- * @since 2.7
+ * @since 2.7
+ * @define Coll immutable.LongMap
+ * @define coll immutable long integer map
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
sealed abstract class LongMap[+T] extends Map[Long, T] with MapLike[Long, T, LongMap[T]] {
override def empty: LongMap[T] = LongMap.Nil;
diff --git a/src/library/scala/collection/immutable/Map.scala b/src/library/scala/collection/immutable/Map.scala
index e3469099b8..74cf4a1715 100644
--- a/src/library/scala/collection/immutable/Map.scala
+++ b/src/library/scala/collection/immutable/Map.scala
@@ -48,12 +48,13 @@ trait Map[A, +B] extends Iterable[(A, B)]
def withDefaultValue[B1 >: B](d: B1): Map[A, B1] = new Map.WithDefault[A, B1](this, x => d)
}
-/**
- * A companion object for immutable maps.
- *
- * @since 1
+/** $factoryInfo
+ * @define Coll immutable.Map
+ * @define coll immutable map
*/
object Map extends ImmutableMapFactory[Map] {
+
+ /** $mapCanBuildFromInfo */
implicit def canBuildFrom[A, B]: CanBuildFrom[Coll, (A, B), Map[A, B]] = new MapCanBuildFrom[A, B]
def empty[A, B]: Map[A, B] = EmptyMap.asInstanceOf[Map[A, B]]
diff --git a/src/library/scala/collection/immutable/MapLike.scala b/src/library/scala/collection/immutable/MapLike.scala
index 6f816ffa52..367ffadd43 100644
--- a/src/library/scala/collection/immutable/MapLike.scala
+++ b/src/library/scala/collection/immutable/MapLike.scala
@@ -14,32 +14,38 @@ package immutable
import generic._
-/** <p>
- * A generic template for immutable maps from keys of type <code>A</code>
- * to values of type <code>B</code>.<br/>
- * To implement a concrete map, you need to provide implementations of the
- * following methods (where <code>This</code> is the type of the map in
- * question):
- * </p>
- * <pre>
- * <b>def</b> get(key: A): Option[B]
- * <b>def</b> iterator: Iterator[(A, B)]
- * <b>def</b> + [B1 >: B](kv: (A, B)): Map[A, B1]
- * <b>def</b> - (key: A): This</pre>
- * <p>
- * If you wish that methods <code>like</code>, <code>take</code>, <code>drop</code>,
- * <code>filter</code> return the same kind of map, you should also override:
- * </p>
- * <pre>
- * <b>def</b> empty: This</pre>
- * <p>
- * It is also good idea to override methods <code>foreach</code> and
- * <code>size</code> for efficiency.
- * </p>
+/**
+ * A generic template for immutable maps from keys of type `A`
+ * to values of type `B`.
+ * To implement a concrete map, you need to provide implementations of the
+ * following methods (where `This` is the type of the actual map implementation):
+ *
+ * {{{
+ * def get(key: A): Option[B]
+ * def iterator: Iterator[(A, B)]
+ * def + [B1 >: B](kv: (A, B)): Map[A, B1]
+ * def - (key: A): This
+ * }}}
+ *
+ * If you wish that transformer methods like `take`, `drop`, `filter` return the
+ * same kind of map, you should also override:
+ *
+ * {{{
+ * def empty: This
+ * }}}
+ *
+ * It is also good idea to override methods `foreach` and
+ * `size` for efficiency.
+ *
+ * @param A the type of the keys contained in this collection.
+ * @param B the type of the values associated with the keys.
+ * @param This The type of the actual map implementation.
*
* @author Martin Odersky
* @version 2.8
* @since 2.8
+ * @define Coll immutable.Map
+ * @define coll immutable map
*/
trait MapLike[A, +B, +This <: MapLike[A, B, This] with Map[A, B]]
extends scala.collection.MapLike[A, B, This]
@@ -55,8 +61,8 @@ trait MapLike[A, +B, +This <: MapLike[A, B, This] with Map[A, B]]
override def updated [B1 >: B](key: A, value: B1): immutable.Map[A, B1] = this + ((key, value))
/** Add a key/value pair to this map, returning a new map.
- * @param kv the key/value pair
- * @return A new map with the new binding added to this map
+ * @param kv the key/value pair.
+ * @return A new map with the new binding added to this map.
*/
def + [B1 >: B] (kv: (A, B1)): immutable.Map[A, B1]
@@ -66,6 +72,7 @@ trait MapLike[A, +B, +This <: MapLike[A, B, This] with Map[A, B]]
* @param elem1 the first element to add.
* @param elem2 the second element to add.
* @param elems the remaining elements to add.
+ * @return A new map with the new bindings added to this map.
*/
override def + [B1 >: B] (elem1: (A, B1), elem2: (A, B1), elems: (A, B1) *): immutable.Map[A, B1] =
this + elem1 + elem2 ++ elems
@@ -73,7 +80,8 @@ trait MapLike[A, +B, +This <: MapLike[A, B, This] with Map[A, B]]
/** Adds a number of elements provided by a traversable object
* and returns a new collection with the added elements.
*
- * @param elems the traversable object.
+ * @param xs the traversable object consisting of key-value pairs.
+ * @return a new immutable map with the bindings of this map and those from `xs`.
*/
override def ++[B1 >: B](xs: TraversableOnce[(A, B1)]): immutable.Map[A, B1] =
((repr: immutable.Map[A, B1]) /: xs) (_ + _)
@@ -104,7 +112,7 @@ trait MapLike[A, +B, +This <: MapLike[A, B, This] with Map[A, B]]
}
/** This function transforms all the values of mappings contained
- * in this map with function <code>f</code>.
+ * in this map with function `f`.
*
* @param f A function over keys and values
* @return the updated map
diff --git a/src/library/scala/collection/immutable/MapProxy.scala b/src/library/scala/collection/immutable/MapProxy.scala
index 371af042e7..a511c6d145 100644
--- a/src/library/scala/collection/immutable/MapProxy.scala
+++ b/src/library/scala/collection/immutable/MapProxy.scala
@@ -12,14 +12,12 @@
package scala.collection
package immutable
-/** <p>
- * This is a simple wrapper class for <a href="Map.html"
- * target="contentFrame"><code>scala.collection.mutable.Map</code></a>.
- * </p>
- * <p>
- * It is most useful for assembling customized map abstractions
- * dynamically using object composition and forwarding.
- * </p>
+/**
+ * This is a simple wrapper class for <a href="Map.html"
+ * target="contentFrame">`scala.collection.immutable.Map`</a>.
+ *
+ * It is most useful for assembling customized map abstractions
+ * dynamically using object composition and forwarding.
*
* @author Matthias Zenger, Martin Odersky
* @version 2.0, 31/12/2006
diff --git a/src/library/scala/collection/immutable/NumericRange.scala b/src/library/scala/collection/immutable/NumericRange.scala
index 645c5fed24..67115f7184 100644
--- a/src/library/scala/collection/immutable/NumericRange.scala
+++ b/src/library/scala/collection/immutable/NumericRange.scala
@@ -14,24 +14,28 @@ package immutable
import mutable.{ Builder, ListBuffer }
import generic._
-/** <p>
- * <code>NumericRange</code> is a more generic version of the
- * <code>Range</code> class which works with arbitrary types.
- * It must be supplied with an `Integral` implementation of the
- * range type.
+/** `NumericRange` is a more generic version of the
+ * `Range` class which works with arbitrary types.
+ * It must be supplied with an `Integral` implementation of the
+ * range type.
*
- * Factories for likely types include `Range.BigInt`, `Range.Long`,
- * and `Range.BigDecimal`. `Range.Int` exists for completeness, but
- * the `Int`-based `scala.Range` should be more performant.
- * </p><pre>
- * <b>val</b> r1 = new Range(0, 100, 1)
- * <b>val</b> veryBig = Int.MaxValue.toLong + 1
- * <b>val</b> r2 = Range.Long(veryBig, veryBig + 100, 1)
+ * Factories for likely types include `Range.BigInt`, `Range.Long`,
+ * and `Range.BigDecimal`. `Range.Int` exists for completeness, but
+ * the `Int`-based `scala.Range` should be more performant.
+ *
+ * {{{
+ * val r1 = new Range(0, 100, 1)
+ * val veryBig = Int.MaxValue.toLong + 1
+ * val r2 = Range.Long(veryBig, veryBig + 100, 1)
* assert(r1 sameElements r2.map(_ - veryBig))
- * </pre>
+ * }}}
*
* @author Paul Phillips
* @version 2.8
+ * @define Coll NumericRange
+ * @define coll numeric range
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable
abstract class NumericRange[T]
@@ -68,7 +72,7 @@ extends IndexedSeq[T]
protected def underlying = collection.immutable.IndexedSeq.empty[T]
/** Create a new range with the start and end values of this range and
- * a new <code>step</code>.
+ * a new `step`.
*/
def by(newStep: T): NumericRange[T] = copy(start, end, newStep)
@@ -200,6 +204,8 @@ extends IndexedSeq[T]
}
}
+/** A companion object for numeric ranges.
+ */
object NumericRange {
class Inclusive[T](start: T, end: T, step: T)(implicit num: Integral[T])
extends NumericRange(start, end, step, true) {
diff --git a/src/library/scala/collection/immutable/PagedSeq.scala b/src/library/scala/collection/immutable/PagedSeq.scala
index bd12502520..2a1b3c110c 100644
--- a/src/library/scala/collection/immutable/PagedSeq.scala
+++ b/src/library/scala/collection/immutable/PagedSeq.scala
@@ -15,7 +15,7 @@ package immutable
import java.io._
import scala.util.matching.Regex
-/** The PagedSeq object defines a lazy implementations of
+/** The `PagedSeq` object defines a lazy implementations of
* a random access sequence.
*
* @since 2.7
@@ -108,8 +108,14 @@ import PagedSeq._
/** An implementation of lazily computed sequences, where elements are stored
* in ``pages'', i.e. arrays of fixed size.
*
- * @author Martin Odersky
- * @since 2.7
+ * @tparam T the type of the elements contained in this paged sequence, with a `ClassManifest` context bound.
+ *
+ * @author Martin Odersky
+ * @since 2.7
+ * @define Coll PagedSeq
+ * @define coll paged sequence
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
class PagedSeq[T: ClassManifest] protected(
more: (Array[T], Int, Int) => Int,
diff --git a/src/library/scala/collection/immutable/Queue.scala b/src/library/scala/collection/immutable/Queue.scala
index 02d344ceea..7a903cb201 100644
--- a/src/library/scala/collection/immutable/Queue.scala
+++ b/src/library/scala/collection/immutable/Queue.scala
@@ -15,12 +15,16 @@ package immutable
import generic._
import mutable.{ Builder, ListBuffer }
-/** <code>Queue</code> objects implement data structures that allow to
+/** `Queue` objects implement data structures that allow to
* insert and retrieve elements in a first-in-first-out (FIFO) manner.
*
* @author Erik Stenman
* @version 1.0, 08/07/2003
* @since 1
+ * @define Coll immutable.Queue
+ * @define coll immutable queue
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable
@SerialVersionUID(-7622936493364270175L)
@@ -31,11 +35,11 @@ class Queue[+A] protected(protected val in: List[A], protected val out: List[A])
override def companion: GenericCompanion[Queue] = Queue
- /** Returns the <code>n</code>-th element of this queue.
+ /** Returns the `n`-th element of this queue.
* The first element is at position 0.
*
* @param n index of the element to return
- * @return the element at position <code>n</code> in this queue.
+ * @return the element at position `n` in this queue.
* @throws Predef.NoSuchElementException if the queue is too short.
*/
def apply(n: Int): A = {
@@ -127,7 +131,12 @@ class Queue[+A] protected(protected val in: List[A], protected val out: List[A])
override def toString() = mkString("Queue(", ", ", ")")
}
+/** $factoryInfo
+ * @define Coll immutable.Queue
+ * @define coll immutable queue
+ */
object Queue extends SeqFactory[Queue] {
+ /** $genericCanBuildFromInfo */
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Queue[A]] = new GenericCanBuildFrom[A]
def newBuilder[A]: Builder[A, Queue[A]] = new ListBuffer[A] mapResult (x => new Queue[A](Nil, x.toList))
override def empty[A]: Queue[A] = new Queue[A](Nil, Nil)
diff --git a/src/library/scala/collection/immutable/Range.scala b/src/library/scala/collection/immutable/Range.scala
index 5424a7afcb..8f1f7d58a6 100644
--- a/src/library/scala/collection/immutable/Range.scala
+++ b/src/library/scala/collection/immutable/Range.scala
@@ -10,20 +10,31 @@
package scala.collection.immutable
-/** <p>
- * The <code>Range</code> class represents integer values in range
- * <code>[start;end)</code> with non-zero step value <code>step</code>.
- * It's a special case of an indexed sequence.
- * For example:
- * </p><pre>
- * <b>val</b> r1 = 0 until 10
- * <b>val</b> r2 = r1.start until r1.end by r1.step + 1
+/** The `Range` class represents integer values in range
+ * ''[start;end)'' with non-zero step value `step`.
+ * It's a special case of an indexed sequence.
+ * For example:
+ *
+ * {{{
+ * val r1 = 0 until 10
+ * val r2 = r1.start until r1.end by r1.step + 1
* println(r2.length) // = 5
- * </pre>
+ * }}}
+ *
+ * @param start the start of this range.
+ * @param end the exclusive end of the range.
+ * @param step the step for the range.
*
* @author Martin Odersky
* @version 2.8
* @since 2.5
+ * @define Coll Range
+ * @define coll range
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
+ * @define doesNotUseBuilders
+ * '''Note:''' this method does not use builders to construct a new range,
+ * and its complexity is O(1).
*/
@serializable @SerialVersionUID(7618862778670199309L)
class Range(val start: Int, val end: Int, val step: Int) extends IndexedSeq[Int] {
@@ -33,7 +44,9 @@ class Range(val start: Int, val end: Int, val step: Int) extends IndexedSeq[Int]
protected def copy(start: Int, end: Int, step: Int): Range = new Range(start, end, step)
/** Create a new range with the `start` and `end` values of this range and
- * a new <code>step</code>.
+ * a new `step`.
+ *
+ * @return a new range with a different step
*/
def by(step: Int): Range = copy(start, end, step)
@@ -84,18 +97,46 @@ class Range(val start: Int, val end: Int, val step: Int) extends IndexedSeq[Int]
start
}
+ /** Creates a new range containing the first `n` elements of this range.
+ *
+ * $doesNotUseBuilders
+ *
+ * @param n the number of elements to take.
+ * @return a new range consisting of `n` first elements.
+ */
final override def take(n: Int): Range = if (n > 0 && length > 0) {
Range(start, locationAfterN(n - 1), step).inclusive
} else {
Range(start, start, step)
}
+ /** Creates a new range containing all the elements of this range except the first `n` elements.
+ *
+ * $doesNotUseBuilders
+ *
+ * @param n the number of elements to drop.
+ * @return a new range consisting of all the elements of this range except `n` first elements.
+ */
final override def drop(n: Int): Range =
copy(locationAfterN(n), end, step)
+ /** Creates a new range containing all the elements of this range except the last one.
+ *
+ * $doesNotUseBuilders
+ *
+ * @return a new range consisting of all the elements of this range except the last one.
+ */
final override def init: Range =
take(length - 1)
+ /** Creates a new range contained in the specified slice of this range.
+ *
+ * $doesNotUseBuilders
+ *
+ * @param from the start of the slice.
+ * @param until the end of the slice.
+ * @return a new range consisting of all the elements of this range contained in the specified slice.
+ */
final override def slice(from: Int, until: Int): Range =
drop(from).take(until - from)
@@ -117,12 +158,29 @@ class Range(val start: Int, val end: Int, val step: Int) extends IndexedSeq[Int]
(Range(start, split, step), copy(split, end, step))
}
+ /** Creates a pair of new ranges, first consisting of elements before `n`, and the second
+ * of elements after `n`.
+ *
+ * $doesNotUseBuilders
+ */
final override def splitAt(n: Int) = (take(n), drop(n))
+ /** Creates a new range consisting of the `length - n` last elements of the range.
+ *
+ * $doesNotUseBuilders
+ */
final override def takeRight(n: Int): Range = drop(length - n)
+ /** Creates a new range consisting of the initial `length - n` elements of the range.
+ *
+ * $doesNotUseBuilders
+ */
final override def dropRight(n: Int): Range = take(length - n)
+ /** Returns the reverse of this range.
+ *
+ * $doesNotUseBuilders
+ */
final override def reverse: Range = if (length > 0) new Range.Inclusive(last, start, -step) else this
/** Make range inclusive.
@@ -156,6 +214,8 @@ class Range(val start: Int, val end: Int, val step: Int) extends IndexedSeq[Int]
}
}
+/** A companion object for the `Range` class.
+ */
object Range {
private[immutable] val MAX_PRINT = 512 // some arbitrary value
diff --git a/src/library/scala/collection/immutable/RedBlack.scala b/src/library/scala/collection/immutable/RedBlack.scala
index ffa6194838..98a7d67d48 100644
--- a/src/library/scala/collection/immutable/RedBlack.scala
+++ b/src/library/scala/collection/immutable/RedBlack.scala
@@ -12,9 +12,9 @@
package scala.collection
package immutable
-/** A base class containing the implementations for TreeMaps and TreeSets
+/** A base class containing the implementations for `TreeMaps` and `TreeSets`.
*
- * @since 2.3
+ * @since 2.3
*/
@serializable @SerialVersionUID(8691885935445612921L)
abstract class RedBlack[A] {
diff --git a/src/library/scala/collection/immutable/Seq.scala b/src/library/scala/collection/immutable/Seq.scala
index de7804a95c..7e41ff7b94 100644
--- a/src/library/scala/collection/immutable/Seq.scala
+++ b/src/library/scala/collection/immutable/Seq.scala
@@ -19,6 +19,8 @@ import mutable.Builder
* that are guaranteed immutable.
*
* $seqInfo
+ * @define Coll immutable.Seq
+ * @define coll immutable sequence
*/
trait Seq[+A] extends Iterable[A]
with scala.collection.Seq[A]
@@ -27,10 +29,12 @@ trait Seq[+A] extends Iterable[A]
override def companion: GenericCompanion[Seq] = Seq
}
-/**
- * @since 2.8
+/** $factoryInfo
+ * @define Coll immutable.Seq
+ * @define coll immutable sequence
*/
object Seq extends SeqFactory[Seq] {
+ /** genericCanBuildFromInfo */
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = new GenericCanBuildFrom[A]
def newBuilder[A]: Builder[A, Seq[A]] = new mutable.ListBuffer
}
diff --git a/src/library/scala/collection/immutable/Set.scala b/src/library/scala/collection/immutable/Set.scala
index 77f16c0d14..769ee37f6b 100644
--- a/src/library/scala/collection/immutable/Set.scala
+++ b/src/library/scala/collection/immutable/Set.scala
@@ -14,23 +14,16 @@ package immutable
import generic._
-/** <p>
- * A generic trait for immutable sets. Concrete set implementations have
- * to provide functionality for the abstract methods in <code>Set</code>:
- * </p>
- * <pre>
- * <b>def</b> contains(elem: A): Boolean
- * <b>def</b> iterator: Iterator[A]
- * <b>def</b> + (elem: A): Self
- * <b>def</b> - (elem: A): Self</pre>
- * <p>
- * where <code>Self</code> is the type of the set.
- * </p>
+/** A generic trait for immutable sets.
+ *
+ * $setnote
*
* @author Matthias Zenger
* @author Martin Odersky
* @version 2.8
* @since 1
+ * @define Coll immutable.Set
+ * @define coll immutable set
*/
trait Set[A] extends Iterable[A]
with scala.collection.Set[A]
@@ -39,10 +32,12 @@ trait Set[A] extends Iterable[A]
override def companion: GenericCompanion[Set] = Set
}
-/**
- * A companion object for immutable sets.
+/** $factoryInfo
+ * @define Coll immutable.Set
+ * @define coll immutable set
*/
object Set extends SetFactory[Set] {
+ /** $setCanBuildFromInfo */
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Set[A]] = setCanBuildFrom[A]
override def empty[A]: Set[A] = EmptySet.asInstanceOf[Set[A]]
diff --git a/src/library/scala/collection/immutable/SetProxy.scala b/src/library/scala/collection/immutable/SetProxy.scala
index 73c95652b3..d45b2059ff 100644
--- a/src/library/scala/collection/immutable/SetProxy.scala
+++ b/src/library/scala/collection/immutable/SetProxy.scala
@@ -12,14 +12,13 @@
package scala.collection
package immutable
-/** <p>
- * This is a simple wrapper class for <a href="Set.html"
- * target="contentFrame"><code>scala.collection.immutable.Set</code></a>.
- * </p>
- * <p>
- * It is most useful for assembling customized set abstractions
- * dynamically using object composition and forwarding.
- * </p>
+/** This is a simple wrapper class for <a href="Set.html"
+ * target="contentFrame">`scala.collection.immutable.Set`</a>.
+ *
+ * It is most useful for assembling customized set abstractions
+ * dynamically using object composition and forwarding.
+ *
+ * @tparam A type of the elements contained in this set proxy.
*
* @since 2.8
*/
diff --git a/src/library/scala/collection/immutable/SortedMap.scala b/src/library/scala/collection/immutable/SortedMap.scala
index 919b529a49..243636e107 100644
--- a/src/library/scala/collection/immutable/SortedMap.scala
+++ b/src/library/scala/collection/immutable/SortedMap.scala
@@ -18,10 +18,15 @@ import annotation.unchecked.uncheckedVariance
/** A map whose keys are sorted.
*
+ * @tparam A the type of the keys contained in this sorted map.
+ * @tparam B the type of the values associated with the keys.
+ *
* @author Sean McDirmid
* @author Martin Odersky
* @version 2.8
* @since 2.4
+ * @define Coll immutable.SortedMap
+ * @define coll immutable sorted map
*/
trait SortedMap[A, +B] extends Map[A, B]
with scala.collection.SortedMap[A, B]
@@ -62,10 +67,12 @@ trait SortedMap[A, +B] extends Map[A, B]
((repr: SortedMap[A, B1]) /: xs) (_ + _)
}
-/**
- * @since 2.4
+/** $factoryInfo
+ * @define Coll immutable.SortedMap
+ * @define coll immutable sorted map
*/
object SortedMap extends ImmutableSortedMapFactory[SortedMap] {
+ /** $sortedMapCanBuildFromInfo */
implicit def canBuildFrom[A, B](implicit ord: Ordering[A]): CanBuildFrom[Coll, (A, B), SortedMap[A, B]] = new SortedMapCanBuildFrom[A, B]
def empty[A, B](implicit ord: Ordering[A]): SortedMap[A, B] = TreeMap.empty[A, B]
}
diff --git a/src/library/scala/collection/immutable/SortedSet.scala b/src/library/scala/collection/immutable/SortedSet.scala
index 10ff466ff8..6c9433c30c 100644
--- a/src/library/scala/collection/immutable/SortedSet.scala
+++ b/src/library/scala/collection/immutable/SortedSet.scala
@@ -22,18 +22,20 @@ import mutable.Builder
* @author Martin Odersky
* @version 2.8
* @since 2.4
+ * @define Coll immutable.SortedSet
+ * @define coll immutable sorted set
*/
trait SortedSet[A] extends Set[A] with scala.collection.SortedSet[A] with SortedSetLike[A, SortedSet[A]] {
/** Needs to be overridden in subclasses. */
override def empty: SortedSet[A] = SortedSet.empty[A]
}
-/**
- * A companion object for immutable sorted sets.
- *
- * @since 2.4
+/** $factoryInfo
+ * @define Coll immutable.SortedSet
+ * @define coll immutable sorted set
*/
object SortedSet extends ImmutableSortedSetFactory[SortedSet] {
+ /** $sortedSetCanBuildFromInfo */
implicit def canBuildFrom[A](implicit ord: Ordering[A]): CanBuildFrom[Coll, A, SortedSet[A]] = new SortedSetCanBuildFrom[A]
def empty[A](implicit ord: Ordering[A]): SortedSet[A] = TreeSet.empty[A]
}
diff --git a/src/library/scala/collection/immutable/Stack.scala b/src/library/scala/collection/immutable/Stack.scala
index 7d3c8c040b..0323db7211 100644
--- a/src/library/scala/collection/immutable/Stack.scala
+++ b/src/library/scala/collection/immutable/Stack.scala
@@ -15,7 +15,12 @@ package immutable
import generic._
import mutable.{ ArrayBuffer, Builder }
+/** $factoryInfo
+ * @define Coll immutable.Stack
+ * @define coll immutable stack
+ */
object Stack extends SeqFactory[Stack] {
+ /** $genericCanBuildFromInfo */
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Stack[A]] = new GenericCanBuildFrom[A]
def newBuilder[A]: Builder[A, Stack[A]] = new ArrayBuffer[A] mapResult (buf => new Stack(buf.toList))
@@ -26,13 +31,21 @@ object Stack extends SeqFactory[Stack] {
/** This class implements immutable stacks using a list-based data
* structure.
*
- * @note This class exists only for historical reason and as an
- * analogue of mutable stacks
+ * '''Note:''' This class exists only for historical reason and as an
+ * analogue of mutable stacks.
* Instead of an immutable stack you can just use a list.
*
+ * @tparam A the type of the elements contained in this stack.
+ *
* @author Matthias Zenger
* @version 1.0, 10/07/2003
* @since 1
+ * @define Coll immutable.Stack
+ * @define coll immutable stack
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable @SerialVersionUID(1976480595012942526L)
class Stack[+A] protected (protected val elems: List[A]) extends LinearSeq[A]
diff --git a/src/library/scala/collection/immutable/Stream.scala b/src/library/scala/collection/immutable/Stream.scala
index 7f0b21050a..50fa07c2cf 100644
--- a/src/library/scala/collection/immutable/Stream.scala
+++ b/src/library/scala/collection/immutable/Stream.scala
@@ -16,27 +16,33 @@ import generic._
import mutable.{Builder, StringBuilder, LazyBuilder, ListBuffer}
import scala.annotation.tailrec
-/**
- * <p>The class <code>Stream</code> implements lazy lists where elements
- * are only evaluated when they are needed. Here is an example:</p>
- * <pre>
- * <b>object</b> Main <b>extends</b> Application {
+/** The class `Stream` implements lazy lists where elements
+ * are only evaluated when they are needed. Here is an example:
*
- * <b>def</b> from(n: Int): Stream[Int] =
- * Stream.cons(n, from(n + 1))
+ * {{{
+ * object Main extends Application {
*
- * <b>def</b> sieve(s: Stream[Int]): Stream[Int] =
- * Stream.cons(s.head, sieve(s.tail filter { _ % s.head != 0 }))
+ * def from(n: Int): Stream[Int] =
+ * Stream.cons(n, from(n + 1))
*
- * <b>def</b> primes = sieve(from(2))
+ * def sieve(s: Stream[Int]): Stream[Int] =
+ * Stream.cons(s.head, sieve(s.tail filter { _ % s.head != 0 }))
*
- * primes take 10 print
- * }
- * </pre>
+ * def primes = sieve(from(2))
*
- * @author Martin Odersky, Matthias Zenger
- * @version 1.1 08/08/03
- * @since 2.8
+ * primes take 10 print
+ * }
+ * }}}
+ *
+ * @tparam A the type of the elements contained in this stream.
+ *
+ * @author Martin Odersky, Matthias Zenger
+ * @version 1.1 08/08/03
+ * @since 2.8
+ * @define Coll Stream
+ * @define coll stream
+ * @define orderDependent
+ * @define orderDependentFold
*/
abstract class Stream[+A] extends LinearSeq[A]
with GenericTraversableTemplate[A, Stream]
@@ -68,6 +74,7 @@ self =>
/** The stream resulting from the concatenation of this stream with the argument stream.
* @param rest The stream that gets appended to this stream
+ * @return The stream containing elements of this stream and the traversable object.
*/
def append[B >: A](rest: => Traversable[B]): Stream[B] =
if (isEmpty) rest.toStream else new Stream.Cons(head, tail append rest)
@@ -82,7 +89,7 @@ self =>
/** Prints elements of this stream one by one, separated by commas. */
def print() { print(", ") }
- /** Prints elements of this stream one by one, separated by <code>sep</code>.
+ /** Prints elements of this stream one by one, separated by `sep`.
* @param sep The separator string printed between consecutive elements.
*/
def print(sep: String) {
@@ -138,7 +145,7 @@ self =>
)
/** Returns the stream resulting from applying the given function
- * <code>f</code> to each element of this stream.
+ * `f` to each element of this stream.
*
* @param f function to apply to each element.
* @return <code>f(a<sub>0</sub>), ..., f(a<sub>n</sub>)</code> if this
@@ -150,10 +157,11 @@ self =>
else new Stream.Cons(f(head), asStream[B](tail map f))
)
- /** Applies the given function <code>f</code> to each element of
+ /** Applies the given function `f` to each element of
* this stream, then concatenates the results.
*
- * @param f the function to apply on each element.
+ * @param f the function to apply on each element.
+ * @param bf $bfinfo
* @return <code>f(a<sub>0</sub>) ::: ... ::: f(a<sub>n</sub>)</code> if
* this stream is <code>[a<sub>0</sub>, ..., a<sub>n</sub>]</code>.
*/
diff --git a/src/library/scala/collection/immutable/StringLike.scala b/src/library/scala/collection/immutable/StringLike.scala
index 8068267dd2..f12ddebd08 100644
--- a/src/library/scala/collection/immutable/StringLike.scala
+++ b/src/library/scala/collection/immutable/StringLike.scala
@@ -17,8 +17,8 @@ import mutable.Builder
import scala.util.matching.Regex
import scala.math.ScalaNumber
-/**
- * @since 2.8
+/** A companion object for the `StringLike` containing some constants.
+ * @since 2.8
*/
object StringLike {
@@ -31,8 +31,17 @@ object StringLike {
import StringLike._
-/**
- * @since 2.8
+/** A trait describing stringlike collections.
+ *
+ * @tparam Repr The type of the actual collection inheriting `StringLike`.
+ *
+ * @since 2.8
+ * @define Coll String
+ * @define coll string
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
trait StringLike[+Repr] extends IndexedSeqOptimized[Char, Repr] with Ordered[String] {
self =>
@@ -62,15 +71,15 @@ self =>
private def isLineBreak(c: Char) = c == LF || c == FF
/**
- * Strip trailing line end character from this string if it has one.
+ * Strip trailing line end character from this string if it has one.
*
- * A line end character is one of
- * <ul style="list-style-type: none;">
- * <li>LF - line feed (0x0A hex)</li>
- * <li>FF - form feed (0x0C hex)</li>
- * </ul>
- * If a line feed character LF is preceded by a carriage return CR
- * (0x0D hex), the CR character is also stripped (Windows convention).
+ * A line end character is one of
+ * <ul style="list-style-type: none;">
+ * <li>LF - line feed (0x0A hex)</li>
+ * <li>FF - form feed (0x0C hex)</li>
+ * </ul>
+ * If a line feed character LF is preceded by a carriage return CR
+ * (0x0D hex), the CR character is also stripped (Windows convention).
*/
def stripLineEnd: String = {
val len = toString.length
@@ -112,15 +121,15 @@ self =>
}
/** Return all lines in this string in an iterator, excluding trailing line
- * end characters, i.e. apply <code>.stripLineEnd</code> to all lines
- * returned by <code>linesWithSeparators</code>.
+ * end characters, i.e. apply `.stripLineEnd` to all lines
+ * returned by `linesWithSeparators`.
*/
def lines: Iterator[String] =
linesWithSeparators map (line => new WrappedString(line).stripLineEnd)
/** Return all lines in this string in an iterator, excluding trailing line
- * end characters, i.e. apply <code>.stripLineEnd</code> to all lines
- * returned by <code>linesWithSeparators</code>.
+ * end characters, i.e. apply `.stripLineEnd` to all lines
+ * returned by `linesWithSeparators`.
*/
def linesIterator: Iterator[String] =
linesWithSeparators map (line => new WrappedString(line).stripLineEnd)
@@ -135,12 +144,12 @@ self =>
new String(chars)
}
- /** Returns this string with the given <code>prefix</code> stripped. */
+ /** Returns this string with the given `prefix` stripped. */
def stripPrefix(prefix: String) =
if (toString.startsWith(prefix)) toString.substring(prefix.length)
else toString
- /** Returns this string with the given <code>suffix</code> stripped. */
+ /** Returns this string with the given `suffix` stripped. */
def stripSuffix(suffix: String) =
if (toString.endsWith(suffix)) toString.substring(0, toString.length() - suffix.length)
else toString
@@ -150,7 +159,7 @@ self =>
*
* <blockquote>
* Strip a leading prefix consisting of blanks or control characters
- * followed by <code>marginChar</code> from the line.
+ * followed by `marginChar` from the line.
* </blockquote>
*/
def stripMargin(marginChar: Char): String = {
@@ -170,7 +179,7 @@ self =>
*
* <blockquote>
* Strip a leading prefix consisting of blanks or control characters
- * followed by <code>|</code> from the line.
+ * followed by `|` from the line.
* </blockquote>
*/
def stripMargin: String = stripMargin('|')
@@ -230,7 +239,7 @@ self =>
*
* The interpretation of the formatting patterns is described in
* <a href="" target="contentFrame" class="java/util/Formatter">
- * <code>java.util.Formatter</code></a>, with the addition that
+ * `java.util.Formatter`</a>, with the addition that
* classes deriving from `ScalaNumber` (such as `scala.BigInt` and
* `scala.BigDecimal`) are unwrapped to pass a type which `Formatter`
* understands.
@@ -249,7 +258,7 @@ self =>
*
* The interpretation of the formatting patterns is described in
* <a href="" target="contentFrame" class="java/util/Formatter">
- * <code>java.util.Formatter</code></a>, with the addition that
+ * `java.util.Formatter`</a>, with the addition that
* classes deriving from `ScalaNumber` (such as `scala.BigInt` and
* `scala.BigDecimal`) are unwrapped to pass a type which `Formatter`
* understands.
diff --git a/src/library/scala/collection/immutable/StringOps.scala b/src/library/scala/collection/immutable/StringOps.scala
index 4949eb7056..2bdbf672cd 100644
--- a/src/library/scala/collection/immutable/StringOps.scala
+++ b/src/library/scala/collection/immutable/StringOps.scala
@@ -15,15 +15,19 @@ package immutable
import mutable.StringBuilder
/**
- * This class serves as a wrapper providing `String`s with all the operations
- * found in indexed sequences. Where needed, instances of `String` object
- * are implicitly converted into this class.
+ * This class serves as a wrapper providing `String`s with all the operations
+ * found in indexed sequences. Where needed, instances of `String` object
+ * are implicitly converted into this class.
*
- * The difference between this class and `WrappedString` is that calling transformer
- * methods such as `filter` and `map` will yield a `String` object, whereas a
- * `WrappedString` will remain a `WrappedString`.
+ * The difference between this class and `WrappedString` is that calling transformer
+ * methods such as `filter` and `map` will yield a `String` object, whereas a
+ * `WrappedString` will remain a `WrappedString`.
*
- * @since 2.8
+ * @param repr the actual representation of this string operations object.
+ *
+ * @since 2.8
+ * @define Coll StringOps
+ * @define coll string
*/
final class StringOps(override val repr: String) extends StringLike[String] {
diff --git a/src/library/scala/collection/immutable/Traversable.scala b/src/library/scala/collection/immutable/Traversable.scala
index af7f6979c9..8fdb5c7568 100644
--- a/src/library/scala/collection/immutable/Traversable.scala
+++ b/src/library/scala/collection/immutable/Traversable.scala
@@ -26,11 +26,10 @@ trait Traversable[+A] extends scala.collection.Traversable[A]
override def companion: GenericCompanion[Traversable] = Traversable
}
-/** A factory object for the trait <code>Traversable</code>.
- *
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
+/** $factoryInfo
+ * The current default implementation of a $Coll is a `Vector`.
+ * @define coll immutable traversable collection
+ * @define Coll immutable.Traversable
*/
object Traversable extends TraversableFactory[Traversable] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = new GenericCanBuildFrom[A]
diff --git a/src/library/scala/collection/immutable/TreeMap.scala b/src/library/scala/collection/immutable/TreeMap.scala
index bd04b8d2e2..61cfe2e13b 100644
--- a/src/library/scala/collection/immutable/TreeMap.scala
+++ b/src/library/scala/collection/immutable/TreeMap.scala
@@ -15,22 +15,33 @@ package immutable
import generic._
import mutable.Builder
-/** The canonical factory of <a href="TreeMap.html">TreeMap</a>'s.
- *
- * @since 1
+/** $factoryInfo
+ * @define Coll immutable.TreeMap
+ * @define coll immutable tree map
*/
object TreeMap extends ImmutableSortedMapFactory[TreeMap] {
def empty[A, B](implicit ord: Ordering[A]) = new TreeMap[A, B]()(ord)
+ /** $sortedMapCanBuildFromInfo */
implicit def canBuildFrom[A, B](implicit ord: Ordering[A]): CanBuildFrom[Coll, (A, B), TreeMap[A, B]] = new SortedMapCanBuildFrom[A, B]
private def make[A, B](s: Int, t: RedBlack[A]#Tree[B])(implicit ord: Ordering[A]) = new TreeMap[A, B](s, t)(ord)
}
/** This class implements immutable maps using a tree.
*
+ * @tparam A the type of the keys contained in this tree map.
+ * @tparam B the type of the values associated with the keys.
+ * @param ordering the implicit ordering used to compare objects of type `A`.
+ *
* @author Erik Stenman
* @author Matthias Zenger
* @version 1.1, 03/05/2004
* @since 1
+ * @define Coll immutable.TreeMap
+ * @define coll immutable tree map
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable
class TreeMap[A, +B](override val size: Int, t: RedBlack[A]#Tree[B])(implicit val ordering: Ordering[A])
@@ -65,18 +76,20 @@ class TreeMap[A, +B](override val size: Int, t: RedBlack[A]#Tree[B])(implicit va
* if key is <em>not</em> in the TreeMap, otherwise
* the key is updated with the new entry.
*
- * @param key ...
- * @param value ...
- * @return ...
+ * @tparam B1 type of the value of the new binding which is a supertype of `B`
+ * @param key the key that should be updated
+ * @param value the value to be associated with `key`
+ * @return a new $coll with the updated binding
*/
override def updated [B1 >: B](key: A, value: B1): TreeMap[A, B1] = {
val newsize = if (tree.lookup(key).isEmpty) size + 1 else size
TreeMap.make(newsize, tree.update(key, value))
}
- /** Add a key/value pair to this map.
- * @param kv the key/value pair
- * @return A new map with the new binding added to this map
+ /** Add a key/value pair to this map.
+ * @tparam B1 type of the value of the new binding, a supertype of `B`
+ * @param kv the key/value pair
+ * @return A new $coll with the new binding added to this map
*/
override def + [B1 >: B] (kv: (A, B1)): TreeMap[A, B1] = updated(kv._1, kv._2)
@@ -84,15 +97,22 @@ class TreeMap[A, +B](override val size: Int, t: RedBlack[A]#Tree[B])(implicit va
* either the collection itself (if it is mutable), or a new collection
* with the added elements.
*
+ * @tparam B1 type of the values of the new bindings, a supertype of `B`
* @param elem1 the first element to add.
* @param elem2 the second element to add.
* @param elems the remaining elements to add.
+ * @return a new $coll with the updated bindings
*/
override def + [B1 >: B] (elem1: (A, B1), elem2: (A, B1), elems: (A, B1) *): TreeMap[A, B1] =
this + elem1 + elem2 ++ elems
/** A new TreeMap with the entry added is returned,
* assuming that key is <em>not</em> in the TreeMap.
+ *
+ * @tparam B1 type of the values of the new bindings, a supertype of `B`
+ * @param key the key to be inserted
+ * @param value the value to be associated with `key`
+ * @return a new $coll with the inserted binding, if it wasn't present in the map
*/
def insert [B1 >: B](key: A, value: B1): TreeMap[A, B1] = {
assert(tree.lookup(key).isEmpty)
@@ -103,11 +123,11 @@ class TreeMap[A, +B](override val size: Int, t: RedBlack[A]#Tree[B])(implicit va
if (tree.lookup(key).isEmpty) this
else TreeMap.make(size - 1, tree.delete(key))
- /** Check if this map maps <code>key</code> to a value and return the
+ /** Check if this map maps `key` to a value and return the
* value if it exists.
*
* @param key the key of the mapping of interest
- * @return the value of the mapping, if it exists
+ * @return the value of the mapping, if it exists
*/
override def get(key: A): Option[B] = tree.lookup(key) match {
case n: NonEmpty[b] => Some(n.value)
diff --git a/src/library/scala/collection/immutable/TreeSet.scala b/src/library/scala/collection/immutable/TreeSet.scala
index 79e1a6b00b..7b1f71df5b 100644
--- a/src/library/scala/collection/immutable/TreeSet.scala
+++ b/src/library/scala/collection/immutable/TreeSet.scala
@@ -15,11 +15,11 @@ package immutable
import generic._
import mutable.{Builder, AddingBuilder}
-/** The canonical factory of <a href="TreeSet.html">TreeSet</a>'s.
- *
- * @since 1
+/** $factoryInfo
+ * @define Coll immutable.TreeSet
+ * @define coll immutable tree set
*/
-object TreeSet extends SortedSetFactory[TreeSet] {
+object TreeSet extends ImmutableSortedSetFactory[TreeSet] {
implicit def implicitBuilder[A](implicit ordering: Ordering[A]): Builder[A, TreeSet[A]] = newBuilder[A](ordering)
override def newBuilder[A](implicit ordering: Ordering[A]): Builder[A, TreeSet[A]] =
new AddingBuilder(empty[A](ordering))
@@ -31,9 +31,18 @@ object TreeSet extends SortedSetFactory[TreeSet] {
/** This class implements immutable sets using a tree.
*
+ * @tparam A the type of the elements contained in this tree set
+ * @param ordering the implicit ordering used to compare objects of type `A`
+ *
* @author Martin Odersky
* @version 2.0, 02/01/2007
* @since 1
+ * @define Coll immutable.TreeSet
+ * @define coll immutable tree set
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable @SerialVersionUID(-234066569443569402L)
class TreeSet[A](override val size: Int, t: RedBlack[A]#Tree[Unit])
@@ -54,29 +63,40 @@ class TreeSet[A](override val size: Int, t: RedBlack[A]#Tree[Unit])
*/
override def empty = TreeSet.empty
- /** A new TreeSet with the entry added is returned,
+ /** Creates a new `TreeSet` with the entry added.
+ *
+ * @param elem a new element to add.
+ * @return a new $coll containing `elem` and all the elements of this $coll.
*/
def + (elem: A): TreeSet[A] = {
val newsize = if (tree.lookup(elem).isEmpty) size + 1 else size
newSet(newsize, tree.update(elem, ()))
}
- /** A new TreeSet with the entry added is returned,
+ /** A new `TreeSet` with the entry added is returned,
* assuming that elem is <em>not</em> in the TreeSet.
+ *
+ * @param elem a new element to add.
+ * @return a new $coll containing `elem` and all the elements of this $coll.
*/
def insert(elem: A): TreeSet[A] = {
assert(tree.lookup(elem).isEmpty)
newSet(size + 1, tree.update(elem, ()))
}
+ /** Creates a new `TreeSet` with the entry removed.
+ *
+ * @param elem a new element to add.
+ * @return a new $coll containing all the elements of this $coll except `elem`.
+ */
def - (elem:A): TreeSet[A] =
if (tree.lookup(elem).isEmpty) this
else newSet(size - 1, tree delete elem)
- /** Checks if this set contains element <code>elem</code>.
+ /** Checks if this set contains element `elem`.
*
* @param elem the element to check for membership.
- * @return true, iff <code>elem</code> is contained in this set.
+ * @return true, iff `elem` is contained in this set.
*/
def contains(elem: A): Boolean = !tree.lookup(elem).isEmpty
diff --git a/src/library/scala/collection/immutable/WrappedString.scala b/src/library/scala/collection/immutable/WrappedString.scala
index cefbd96b5c..011774e10d 100644
--- a/src/library/scala/collection/immutable/WrappedString.scala
+++ b/src/library/scala/collection/immutable/WrappedString.scala
@@ -17,14 +17,18 @@ import mutable.{Builder, StringBuilder}
import scala.util.matching.Regex
/**
- * This class serves as a wrapper augmenting `String`s with all the operations
- * found in indexed sequences.
+ * This class serves as a wrapper augmenting `String`s with all the operations
+ * found in indexed sequences.
*
- * The difference between this class and `StringOps` is that calling transformer
- * methods such as `filter` and `map` will yield an object of type `WrappedString`
- * rather than a `String`.
+ * The difference between this class and `StringOps` is that calling transformer
+ * methods such as `filter` and `map` will yield an object of type `WrappedString`
+ * rather than a `String`.
*
- * @since 2.8
+ * @param self a string contained within this wrapped string
+ *
+ * @since 2.8
+ * @define Coll WrappedString
+ * @define coll wrapped string
*/
class WrappedString(override val self: String) extends IndexedSeq[Char] with StringLike[WrappedString] with Proxy {
@@ -38,8 +42,9 @@ class WrappedString(override val self: String) extends IndexedSeq[Char] with Str
new WrappedString(self.substring(from max 0, until min self.length))
}
-/**
- * @since 2.8
+/** A companion object for wrapped strings.
+ *
+ * @since 2.8
*/
object WrappedString {
def newBuilder: Builder[Char, WrappedString] = new StringBuilder() mapResult (new WrappedString(_))
diff --git a/src/library/scala/collection/mutable/ArrayBuffer.scala b/src/library/scala/collection/mutable/ArrayBuffer.scala
index bee531221f..ae656d4e09 100644
--- a/src/library/scala/collection/mutable/ArrayBuffer.scala
+++ b/src/library/scala/collection/mutable/ArrayBuffer.scala
@@ -177,8 +177,8 @@ class ArrayBuffer[A](override protected val initialSize: Int)
/** Factory object for the `ArrayBuffer` class.
*
* $factoryInfo
- * @define coll list
- * @define Coll List
+ * @define coll array buffer
+ * @define Coll ArrayBuffer
*/
object ArrayBuffer extends SeqFactory[ArrayBuffer] {
/** $genericCanBuildFromInfo */
diff --git a/src/library/scala/collection/mutable/ArrayLike.scala b/src/library/scala/collection/mutable/ArrayLike.scala
index b3bd0fbe25..15cafa6ee7 100644
--- a/src/library/scala/collection/mutable/ArrayLike.scala
+++ b/src/library/scala/collection/mutable/ArrayLike.scala
@@ -13,15 +13,15 @@ package scala.collection
package mutable
import generic._
-/** A subtrait of `collection.IndexedSeq` which represents sequences
- * that can be mutated.
- *
- * @since 2.8
+/** A common supertrait of `ArrayOps` and `WrappedArray` that factors out most
+ * operations on arrays and wrapped arrays.
*
* @tparam A type of the elements contained in the array like object.
* @tparam Repr the type of the actual collection containing the elements.
*
* @define Coll ArrayLike
+ * @version 2.8
+ * @since 2.8
*/
trait ArrayLike[A, +Repr] extends IndexedSeqOptimized[A, Repr] { self =>
diff --git a/src/library/scala/collection/mutable/IndexedSeq.scala b/src/library/scala/collection/mutable/IndexedSeq.scala
index 14ee5afc9b..06a6230c6b 100644
--- a/src/library/scala/collection/mutable/IndexedSeq.scala
+++ b/src/library/scala/collection/mutable/IndexedSeq.scala
@@ -27,8 +27,9 @@ trait IndexedSeq[A] extends Seq[A]
}
/** $factoryInfo
- * @define coll indexed sequence
- * @define Coll IndexedSeq
+ * The current default implementation of a $Coll is an `ArrayBuffer`.
+ * @define coll mutable indexed sequence
+ * @define Coll mutable.IndexedSeq
*/
object IndexedSeq extends SeqFactory[IndexedSeq] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IndexedSeq[A]] = new GenericCanBuildFrom[A]
diff --git a/src/library/scala/collection/mutable/IndexedSeqView.scala b/src/library/scala/collection/mutable/IndexedSeqView.scala
index 9a0e7a4010..8d72ac2c49 100644
--- a/src/library/scala/collection/mutable/IndexedSeqView.scala
+++ b/src/library/scala/collection/mutable/IndexedSeqView.scala
@@ -16,14 +16,16 @@ import generic._
import TraversableView.NoBuilder
-/** A non-strict view of a mutable IndexedSeq.
- * This is a leaf class which mixes methods returning a plain IndexedSeq view
- * and methods returning a mutable IndexedSeq view.
- * There is no associated `Like' class.
- * @author Sean McDirmid
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
+/** A non-strict view of a mutable `IndexedSeq`.
+ * $viewinfo
+ * Some of the operations of this class will yield again a mutable indexed sequence,
+ * others will just yield a plain indexed sequence of type `collection.IndexedSeq`.
+ * Because this is a leaf class there is no associated `Like' class.
+ * @author Martin Odersky
+ * @version 2.8
+ * @since 2.8
+ * @tparam A the element type of the view
+ * @tparam Coll the type of the underlying collection containing the elements.
*/
trait IndexedSeqView[A, +Coll] extends IndexedSeq[A]
with IndexedSeqOptimized[A, IndexedSeqView[A, Coll]]
@@ -91,13 +93,13 @@ self =>
override def reverse: IndexedSeqView[A, Coll] = newReversed.asInstanceOf[IndexedSeqView[A, Coll]]
}
-/** $factoryInfo
- * @define coll indexed sequence view
- * @define Coll IndexedSeqView
- * Note that the canBuildFrom factories yield SeqViews, not IndexedSewqViews.
- * This is intentional, because not all operations yield again a mutable.IndexedSeqView.
- * For instance, map just gives a SeqView, which reflects the fact that
- * map cannot do its work and maintain a pointer into the original indexed sequence.
+/** An object containing the necessary implicit definitions to make
+ * `SeqView`s work. Its definitions are generally not accessed directly by clients.
+ *
+ * Note that the `canBuildFrom` factories yield `SeqView`s, not `IndexedSewqView`s.
+ * This is intentional, because not all operations yield again a `mutable.IndexedSeqView`.
+ * For instance, `map` just gives a `SeqView`, which reflects the fact that
+ * `map` cannot do its work and maintain a pointer into the original indexed sequence.
*/
object IndexedSeqView {
type Coll = TraversableView[_, C] forSome {type C <: Traversable[_]}
diff --git a/src/library/scala/collection/mutable/Iterable.scala b/src/library/scala/collection/mutable/Iterable.scala
index 85c6df6fb0..71143f74e3 100644
--- a/src/library/scala/collection/mutable/Iterable.scala
+++ b/src/library/scala/collection/mutable/Iterable.scala
@@ -21,8 +21,9 @@ trait Iterable[A] extends Traversable[A]
}
/** $factoryInfo
- * @define coll indexed sequence
- * @define Coll IndexedSeq
+ * The current default implementation of a $Coll is an `ArrayBuffer`.
+ * @define coll mutable iterable collection
+ * @define Coll mutable.Iterable
*/
object Iterable extends TraversableFactory[Iterable] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = new GenericCanBuildFrom[A]
diff --git a/src/library/scala/collection/mutable/LinearSeq.scala b/src/library/scala/collection/mutable/LinearSeq.scala
index 185b8c97a3..7567504890 100644
--- a/src/library/scala/collection/mutable/LinearSeq.scala
+++ b/src/library/scala/collection/mutable/LinearSeq.scala
@@ -29,8 +29,9 @@ trait LinearSeq[A] extends Seq[A]
}
/** $factoryInfo
- * @define coll linear sequence
- * @define Coll LinearSeq
+ * The current default implementation of a $Coll is a `MutableList`.
+ * @define coll mutable linear sequence
+ * @define Coll mutable.LinearSeq
*/
object LinearSeq extends SeqFactory[LinearSeq] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = new GenericCanBuildFrom[A]
diff --git a/src/library/scala/collection/mutable/ListBuffer.scala b/src/library/scala/collection/mutable/ListBuffer.scala
index a2611a8c0f..7ebbf7b4da 100644
--- a/src/library/scala/collection/mutable/ListBuffer.scala
+++ b/src/library/scala/collection/mutable/ListBuffer.scala
@@ -246,7 +246,7 @@ final class ListBuffer[A]
// Overrides of methods in Buffer
/** Removes the element on a given index position. May take time linear in
- * the buffer size
+ * the buffer size.
*
* @param n the index which refers to the element to delete.
* @return n the element that was formerly at position `n`.
diff --git a/src/library/scala/collection/mutable/ListMap.scala b/src/library/scala/collection/mutable/ListMap.scala
index a4321d3818..09b0c6459b 100644
--- a/src/library/scala/collection/mutable/ListMap.scala
+++ b/src/library/scala/collection/mutable/ListMap.scala
@@ -59,8 +59,8 @@ class ListMap[A, B] extends Map[A, B] with MapLike[A, B, ListMap[A, B]] {
}
/** $factoryInfo
- * @define Coll ListMap
- * @define coll list map
+ * @define Coll mutable.ListMap
+ * @define coll mutable list map
*/
object ListMap extends MutableMapFactory[ListMap] {
implicit def canBuildFrom[A, B]: CanBuildFrom[Coll, (A, B), ListMap[A, B]] = new MapCanBuildFrom[A, B]
diff --git a/src/library/scala/collection/mutable/Map.scala b/src/library/scala/collection/mutable/Map.scala
index 73688e3bee..6c42bad0e9 100644
--- a/src/library/scala/collection/mutable/Map.scala
+++ b/src/library/scala/collection/mutable/Map.scala
@@ -14,11 +14,11 @@ package mutable
import generic._
-/** This trait represents mutable maps.
- * All implementations od mutable maps inherit from it.
- *
- * @tparam A the type of the keys of the map.
- * @tparam B the type of associated values.
+/** A base trait for maps that can be mutated.
+ * $mapNote
+ * $mapTags
+ * @since 1.0
+ * @author Matthias Zenger
*/
trait Map[A, B]
extends Iterable[(A, B)]
@@ -40,11 +40,15 @@ trait Map[A, B]
*/
}
-/* The standard factory for mutable maps.
- * Currently this uses `HashMap` as the implementation class.
+/** $factoryInfo
+ * The current default implementation of a $Coll is a `HashMap`.
+ * @define coll mutable map
+ * @define Coll mutable.Map
*/
object Map extends MutableMapFactory[Map] {
+ /** $canBuildFromInfo */
implicit def canBuildFrom[A, B]: CanBuildFrom[Coll, (A, B), Map[A, B]] = new MapCanBuildFrom[A, B]
+
def empty[A, B]: Map[A, B] = new HashMap[A, B]
}
diff --git a/src/library/scala/collection/mutable/MapBuilder.scala b/src/library/scala/collection/mutable/MapBuilder.scala
index 9ce3524d9e..75fb48abd6 100644
--- a/src/library/scala/collection/mutable/MapBuilder.scala
+++ b/src/library/scala/collection/mutable/MapBuilder.scala
@@ -14,6 +14,10 @@ package mutable
/** The canonical builder for immutable maps, working with the map's `+` method
* to add new elements.
* Collections are built from their `empty` element using this + method.
+ *
+ * @tparam A Type of the keys for the map this builder creates.
+ * @tparam B Type of the values for the map this builder creates.
+ * @tparam Coll The type of the actual collection this builder builds.
* @param empty The empty element of the collection.
*
* @since 2.8
diff --git a/src/library/scala/collection/mutable/MapLike.scala b/src/library/scala/collection/mutable/MapLike.scala
index 19e67a6731..676a325c9b 100644
--- a/src/library/scala/collection/mutable/MapLike.scala
+++ b/src/library/scala/collection/mutable/MapLike.scala
@@ -15,41 +15,10 @@ package mutable
import generic._
import annotation.migration
-/** A template trait for mutable maps of type `mutable.Map[A, B]` which
- * associate keys of type `A` with values of type `B`.
- *
- * @tparam A the type of the keys.
- * @tparam B the type of associated values.
- * @tparam This the type of the `Map` itself.
- *
- * $mapnote
- *
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
- * @define mapnote
- * To implement a concrete mutable map, you need to provide implementations
- * of the following methods:
- * {{{
- * def get(key: A): Option[B]
- * def iterator: Iterator[(A, B)]
- * def += (kv: (A, B)): this.type
- * def -= (key: A): this.type
- * }}}
- * If you wish that methods like `take`,
- * `drop`, `filter` return the same kind of map, you
- * should also override:
- * {{{
- * def empty: This
- * }}}
- * If you wish to avoid the unnecessary construction of an `Option`
- * object, you could also override `apply`, `update`,
- * and `delete`.
-
- * It is also good idea to override methods `foreach` and
- * `size` for efficiency.
- * @define coll mutable map
- * @define Coll mutable.Map
+/** A template trait for mutable maps.
+ * $mapNote
+ * $mapTags
+ * @since 2.8
*/
trait MapLike[A, B, +This <: MapLike[A, B, This] with Map[A, B]]
extends scala.collection.MapLike[A, B, This]
diff --git a/src/library/scala/collection/mutable/MapProxy.scala b/src/library/scala/collection/mutable/MapProxy.scala
index cb768f6778..7fbb016a57 100644
--- a/src/library/scala/collection/mutable/MapProxy.scala
+++ b/src/library/scala/collection/mutable/MapProxy.scala
@@ -12,20 +12,17 @@
package scala.collection
package mutable
-/** <p>
- * This is a simple wrapper class for <a href="Map.html"
- * target="contentFrame"><code>scala.collection.mutable.Map</code></a>.
- * </p>
- * <p>
- * It is most useful for assembling customized map abstractions
- * dynamically using object composition and forwarding.
- * </p>
+/**
+ * This trait implements a proxy for <a href="Map.html"
+ * target="contentFrame"><code>scala.collection.mutable.Map</code></a>.
+ *
+ * It is most useful for assembling customized map abstractions
+ * dynamically using object composition and forwarding.
*
* @author Matthias Zenger, Martin Odersky
* @version 2.0, 31/12/2006
* @since 1
*/
-
trait MapProxy[A, B] extends Map[A, B] with MapProxyLike[A, B, Map[A, B]]
{
private def newProxy[B1 >: B](newSelf: Map[A, B1]): MapProxy[A, B1] =
diff --git a/src/library/scala/collection/mutable/MutableList.scala b/src/library/scala/collection/mutable/MutableList.scala
index 4324fa7ef9..4b6d727c34 100644
--- a/src/library/scala/collection/mutable/MutableList.scala
+++ b/src/library/scala/collection/mutable/MutableList.scala
@@ -16,11 +16,10 @@ import generic._
import immutable.{List, Nil}
// !!! todo: convert to LinkedListBuffer?
-/** <p>
- * This class is used internally to represent mutable lists. It is the
- * basis for the implementation of the classes
- * <code>Stack</code>, and <code>Queue</code>.
- * </p>
+/**
+ * This class is used internally to represent mutable lists. It is the
+ * basis for the implementation of the classes
+ * `Stack`, and `Queue`.
*
* @author Matthias Zenger
* @author Martin Odersky
diff --git a/src/library/scala/collection/mutable/ObservableBuffer.scala b/src/library/scala/collection/mutable/ObservableBuffer.scala
index d3bf49a5b4..8881e78ebc 100644
--- a/src/library/scala/collection/mutable/ObservableBuffer.scala
+++ b/src/library/scala/collection/mutable/ObservableBuffer.scala
@@ -15,9 +15,9 @@ package mutable
import script._
/** This class is typically used as a mixin. It adds a subscription
- * mechanism to the <code>Buffer</code> class into which this abstract
- * class is mixed in. Class <code>ObservableBuffer</code> publishes
- * events of the type <code>Message</code>.
+ * mechanism to the `Buffer` class into which this abstract
+ * class is mixed in. Class `ObservableBuffer` publishes
+ * events of the type `Message`.
*
* @author Matthias Zenger
* @version 1.0, 08/07/2003
diff --git a/src/library/scala/collection/mutable/ObservableMap.scala b/src/library/scala/collection/mutable/ObservableMap.scala
index b15b2e54e9..0cde1b2288 100644
--- a/src/library/scala/collection/mutable/ObservableMap.scala
+++ b/src/library/scala/collection/mutable/ObservableMap.scala
@@ -16,9 +16,9 @@ import script._
/** This class is typically used as a mixin. It adds a subscription
- * mechanism to the <code>Map</code> class into which this abstract
- * class is mixed in. Class <code>ObservableMap</code> publishes
- * events of the type <code>Message</code>.
+ * mechanism to the `Map` class into which this abstract
+ * class is mixed in. Class `ObservableMap` publishes
+ * events of the type `Message`.
*
* @author Matthias Zenger
* @author Martin Odersky
diff --git a/src/library/scala/collection/mutable/ObservableSet.scala b/src/library/scala/collection/mutable/ObservableSet.scala
index 024c2415ce..1f2f1789f9 100644
--- a/src/library/scala/collection/mutable/ObservableSet.scala
+++ b/src/library/scala/collection/mutable/ObservableSet.scala
@@ -15,9 +15,9 @@ package mutable
import script._
/** This class is typically used as a mixin. It adds a subscription
- * mechanism to the <code>Set</code> class into which this abstract
- * class is mixed in. Class <code>ObservableSet</code> publishes
- * events of the type <code>Message</code>.
+ * mechanism to the `Set` class into which this abstract
+ * class is mixed in. Class `ObservableSet` publishes
+ * events of the type `Message`.
*
* @author Matthias Zenger
* @version 1.0, 08/07/2003
diff --git a/src/library/scala/collection/mutable/OpenHashMap.scala b/src/library/scala/collection/mutable/OpenHashMap.scala
index cbcc19c3e8..4ecfe0e762 100644
--- a/src/library/scala/collection/mutable/OpenHashMap.scala
+++ b/src/library/scala/collection/mutable/OpenHashMap.scala
@@ -12,8 +12,12 @@
package scala.collection
package mutable
+
/**
- * @since 2.7
+ * @define Coll OpenHashMap
+ * @define coll open hash map
+ *
+ * @since 2.7
*/
object OpenHashMap {
def apply[K, V](elems : (K, V)*) = {
@@ -42,17 +46,26 @@ object OpenHashMap {
private[mutable] def nextPowerOfTwo(i : Int) = highestOneBit(i) << 1;
}
-/**
- * A mutable hash map based on an open hashing scheme. The precise scheme is undefined,
- * but it should make a reasonable effort to ensure that an insert with consecutive hash
- * codes is not unneccessarily penalised. In particular, mappings of consecutive integer
- * keys should work without significant performance loss.
+/** A mutable hash map based on an open hashing scheme. The precise scheme is undefined,
+ * but it should make a reasonable effort to ensure that an insert with consecutive hash
+ * codes is not unneccessarily penalised. In particular, mappings of consecutive integer
+ * keys should work without significant performance loss.
+ *
+ * @tparam Key type of the keys in this map.
+ * @tparam Value type of the values in this map.
+ * @param initialSize the initial size of the internal hash table.
*
- * @author David MacIver
- * @since 2.7
+ * @author David MacIver
+ * @since 2.7
+ *
+ * @define Coll OpenHashMap
+ * @define coll open hash map
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
-class OpenHashMap[Key, Value](initialSize : Int) extends Map[Key, Value]
- with MapLike[Key, Value, OpenHashMap[Key, Value]] {
+class OpenHashMap[Key, Value](initialSize : Int)
+extends Map[Key, Value]
+ with MapLike[Key, Value, OpenHashMap[Key, Value]] {
import OpenHashMap.OpenEntry
type Entry = OpenEntry[Key, Value]
@@ -77,6 +90,7 @@ class OpenHashMap[Key, Value](initialSize : Int) extends Map[Key, Value]
override def size = _size;
private[this] def size_=(s : Int) = _size = s;
+ /** Returns a mangled hash code of the provided key. */
protected def hashOf(key : Key) = {
var h = key.hashCode;
h ^= ((h >>> 20) ^ (h >>> 12));
@@ -173,9 +187,10 @@ class OpenHashMap[Key, Value](initialSize : Int) extends Map[Key, Value]
None;
}
- /**
- * An iterator over the elements of this map. Use of this iterator follows the same
- * contract for concurrent modification as the foreach method.
+ /** An iterator over the elements of this map. Use of this iterator follows the same
+ * contract for concurrent modification as the foreach method.
+ *
+ * @return the iterator
*/
def iterator = new Iterator[(Key, Value)]{
var index = 0;
@@ -203,19 +218,20 @@ class OpenHashMap[Key, Value](initialSize : Int) extends Map[Key, Value]
}
/**
- * Loop over the key, value mappings of this map.
+ * Loop over the key, value mappings of this map.
*
- * The behaviour of modifying the map during an iteration is as follows:
+ * The behaviour of modifying the map during an iteration is as follows:
*
- * <ul>
- * <li>Deleting a mapping is always permitted.</li>
- * <li>Changing the value of mapping which is already present is permitted.</li>
- * <li>Anything else is not permitted. It will usually, but not always, throw an exception.</li>
- * </ul>
+ * <ul>
+ * <li>Deleting a mapping is always permitted.</li>
+ * <li>Changing the value of mapping which is already present is permitted.</li>
+ * <li>Anything else is not permitted. It will usually, but not always, throw an exception.</li>
+ * </ul>
*
- * @param f The function to apply to each key, value mapping.
+ * @tparam U The return type of the specified function `f`, return result of which is ignored.
+ * @param f The function to apply to each key, value mapping.
*/
- override def foreach[U](f : ((Key, Value)) => U) {
+ override def foreach[U](f : ((Key, Value)) => U) {
val startModCount = modCount;
foreachUndeletedEntry(entry => {
if (modCount != startModCount) error("Concurrent Modification")
@@ -226,6 +242,7 @@ class OpenHashMap[Key, Value](initialSize : Int) extends Map[Key, Value]
private[this] def foreachUndeletedEntry(f : Entry => Unit){
table.foreach(entry => if (entry != null && entry.value != None) f(entry));
}
+
override def transform(f : (Key, Value) => Value) = {
foreachUndeletedEntry(entry => entry.value = Some(f(entry.key, entry.value.get)));
this
diff --git a/src/library/scala/collection/mutable/PriorityQueue.scala b/src/library/scala/collection/mutable/PriorityQueue.scala
index eade376abe..37e1b0ccae 100644
--- a/src/library/scala/collection/mutable/PriorityQueue.scala
+++ b/src/library/scala/collection/mutable/PriorityQueue.scala
@@ -19,11 +19,20 @@ import annotation.migration
* To prioritize elements of type T there must be an implicit
* Ordering[T] available at creation.
*
+ * @tparam A type of the elements in this priority queue.
+ * @param ord implicit ordering used to compare the elements of type `A`.
+ *
* @author Matthias Zenger
* @version 1.0, 03/05/2004
* @since 1
+ *
+ * @define Coll PriorityQueue
+ * @define coll priority queue
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
-
@serializable @cloneable
class PriorityQueue[A](implicit ord: Ordering[A])
extends Seq[A]
@@ -98,6 +107,7 @@ class PriorityQueue[A](implicit ord: Ordering[A])
k = k / 2
}
}
+
protected def fixDown(as: Array[AnyRef], m: Int, n: Int): Unit = {
var k: Int = m
while (n >= 2 * k) {
@@ -134,7 +144,8 @@ class PriorityQueue[A](implicit ord: Ordering[A])
/** Inserts a single element into the priority queue.
*
- * @param elem the element to insert
+ * @param elem the element to insert.
+ * @return this $coll.
*/
def +=(elem: A): this.type = {
resarr.p_ensureSize(resarr.p_size0 + 1)
@@ -147,7 +158,8 @@ class PriorityQueue[A](implicit ord: Ordering[A])
/** Adds all elements provided by a `TraversableOnce` object
* into the priority queue.
*
- * @param xs an iterable object
+ * @param xs a traversable object.
+ * @return a new priority queue containing elements of both `xs` and `this`.
*/
def ++(xs: TraversableOnce[A]) = { this.clone() ++= xs }
@@ -203,19 +215,19 @@ class PriorityQueue[A](implicit ord: Ordering[A])
}
}
- /**
- * Returns the reverse of this queue. The priority queue that gets
- * returned will have an inversed ordering - if for some elements
- * `x` and `y` the original queue's ordering
- * had `compare` returning an integer ''w'', the new one will return ''-w'',
- * assuming the original ordering abides its contract.
+
+ /** Returns the reverse of this queue. The priority queue that gets
+ * returned will have an inversed ordering - if for some elements
+ * `x` and `y` the original queue's ordering
+ * had `compare` returning an integer ''w'', the new one will return ''-w'',
+ * assuming the original ordering abides its contract.
*
- * Note that the order of the elements will be reversed unless the
- * `compare` method returns 0. In this case, such elements
- * will be subsequent, but their corresponding subinterval may be inappropriately
- * reversed. However, due to the compare-equals contract, they will also be equal.
+ * Note that the order of the elements will be reversed unless the
+ * `compare` method returns 0. In this case, such elements
+ * will be subsequent, but their corresponding subinterval may be inappropriately
+ * reversed. However, due to the compare-equals contract, they will also be equal.
*
- * @return A reversed priority queue.
+ * @return A reversed priority queue.
*/
override def reverse = {
val revq = new PriorityQueue[A]()(new math.Ordering[A] {
diff --git a/src/library/scala/collection/mutable/PriorityQueueProxy.scala b/src/library/scala/collection/mutable/PriorityQueueProxy.scala
index 3f1ee5d217..f99755128f 100644
--- a/src/library/scala/collection/mutable/PriorityQueueProxy.scala
+++ b/src/library/scala/collection/mutable/PriorityQueueProxy.scala
@@ -13,7 +13,7 @@ package mutable
/** This class servers as a proxy for priority queues. The
* elements of the queue have to be ordered in terms of the
- * <code>Ordered[T]</code> class.
+ * `Ordered[T]` class.
*
* @author Matthias Zenger
* @version 1.0, 03/05/2004
@@ -22,7 +22,6 @@ package mutable
abstract class PriorityQueueProxy[A](implicit ord: Ordering[A]) extends PriorityQueue[A]
with Proxy
{
-
def self: PriorityQueue[A]
/** Creates a new iterator over all elements contained in this
diff --git a/src/library/scala/collection/mutable/Publisher.scala b/src/library/scala/collection/mutable/Publisher.scala
index 58e4394ef7..f91864f974 100644
--- a/src/library/scala/collection/mutable/Publisher.scala
+++ b/src/library/scala/collection/mutable/Publisher.scala
@@ -13,12 +13,14 @@ package scala.collection
package mutable
-/** <code>Publisher[A,This]</code> objects publish events of type <code>A</code>
+/** `Publisher[A,This]` objects publish events of type `A`
* to all registered subscribers. When subscribing, a subscriber may specify
* a filter which can be used to constrain the number of events sent to the
* subscriber. Subscribers may suspend their subscription, or reactivate a
- * suspended subscription. Class <code>Publisher</code> is typically used
- * as a mixin. The abstract type <code>Pub</code> models the type of the publisher itself.
+ * suspended subscription. Class `Publisher` is typically used
+ * as a mixin. The abstract type `Pub` models the type of the publisher itself.
+ *
+ * @tparam Evt type of the published event.
*
* @author Matthias Zenger
* @author Martin Odersky
diff --git a/src/library/scala/collection/mutable/Queue.scala b/src/library/scala/collection/mutable/Queue.scala
index 3754dbc3f2..3132e2f422 100644
--- a/src/library/scala/collection/mutable/Queue.scala
+++ b/src/library/scala/collection/mutable/Queue.scala
@@ -14,13 +14,20 @@ package mutable
import generic._
-/** <code>Queue</code> objects implement data structures that allow to
+/** `Queue` objects implement data structures that allow to
* insert and retrieve elements in a first-in-first-out (FIFO) manner.
*
* @author Matthias Zenger
* @author Martin Odersky
* @version 2.8
* @since 1
+ *
+ * @define Coll mutable.Queue
+ * @define coll mutable queue
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable @cloneable
class Queue[A] extends MutableList[A] with Cloneable[Queue[A]] {
diff --git a/src/library/scala/collection/mutable/QueueProxy.scala b/src/library/scala/collection/mutable/QueueProxy.scala
index b2548b26cc..6adb3d490b 100644
--- a/src/library/scala/collection/mutable/QueueProxy.scala
+++ b/src/library/scala/collection/mutable/QueueProxy.scala
@@ -12,9 +12,11 @@
package scala.collection
package mutable
-/** <code>Queue</code> objects implement data structures that allow to
+/** `Queue` objects implement data structures that allow to
* insert and retrieve elements in a first-in-first-out (FIFO) manner.
*
+ * @tparam A type of the elements in this queue proxy.
+ *
* @author Matthias Zenger
* @version 1.1, 03/05/2004
* @since 1
diff --git a/src/library/scala/collection/mutable/ResizableArray.scala b/src/library/scala/collection/mutable/ResizableArray.scala
index 80ab1cd559..96d24136cf 100644
--- a/src/library/scala/collection/mutable/ResizableArray.scala
+++ b/src/library/scala/collection/mutable/ResizableArray.scala
@@ -17,6 +17,8 @@ import generic._
/** This class is used internally to implement data structures that
* are based on resizable arrays.
*
+ * @tparam A type of the elements contained in this resizeable array.
+ *
* @author Matthias Zenger, Burak Emir
* @author Martin Odersky
* @version 2.8
diff --git a/src/library/scala/collection/mutable/RevertibleHistory.scala b/src/library/scala/collection/mutable/RevertibleHistory.scala
index 62e1efba2f..b16577486a 100644
--- a/src/library/scala/collection/mutable/RevertibleHistory.scala
+++ b/src/library/scala/collection/mutable/RevertibleHistory.scala
@@ -13,10 +13,13 @@ package scala.collection
package mutable
-/** A revertible history is a <code>History</code> object which supports
- * an undo operation. Type variable <code>A</code> refers to the type
- * of the published events, <code>B</code> denotes the publisher type.
- * Type <code>B</code> is typically a subtype of <code>Publisher</code>.
+/** A revertible history is a `History` object which supports
+ * an undo operation. Type variable `Evt` refers to the type
+ * of the published events, `Pub` denotes the publisher type.
+ * Type `Pub` is typically a subtype of `Publisher`.
+ *
+ * @tparam Evt type of the events
+ * @tparam Pub type of the publisher
*
* @author Matthias Zenger
* @version 1.0, 08/07/2003
diff --git a/src/library/scala/collection/mutable/Seq.scala b/src/library/scala/collection/mutable/Seq.scala
index 8d11e14063..679cc24389 100644
--- a/src/library/scala/collection/mutable/Seq.scala
+++ b/src/library/scala/collection/mutable/Seq.scala
@@ -14,12 +14,16 @@ package mutable
import generic._
-/** A subtrait of <code>collection.Seq</code> which represents sequences
+
+/** A subtrait of `collection.Seq` which represents sequences
* that can be mutated.
*
* $seqInfo
*
- * The class adds an <code>update</code> method to <code>collection.Seq</code>.
+ * The class adds an `update` method to `collection.Seq`.
+ *
+ * @define Coll mutable.Seq
+ * @define coll mutable sequence
*/
trait Seq[A] extends Iterable[A]
with scala.collection.Seq[A]
@@ -36,11 +40,10 @@ trait Seq[A] extends Iterable[A]
def update(idx: Int, elem: A)
}
-/** A factory object for the trait <code>Seq</code>.
- *
- * @author Martin Odersky
- * @version 2.8
- * @since 2.8
+/** $factoryInfo
+ * The current default implementation of a $Coll is an `ArrayBuffer`.
+ * @define coll mutable sequence
+ * @define Coll mutable.Seq
*/
object Seq extends SeqFactory[Seq] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = new GenericCanBuildFrom[A]
diff --git a/src/library/scala/collection/mutable/Set.scala b/src/library/scala/collection/mutable/Set.scala
index cca592b5a0..2e7f1cbc6b 100644
--- a/src/library/scala/collection/mutable/Set.scala
+++ b/src/library/scala/collection/mutable/Set.scala
@@ -14,18 +14,11 @@ package mutable
import generic._
-/** A generic trait for mutable sets. Concrete set implementations
- * have to provide functionality for the abstract methods in Set:
- *
- * def contains(elem: A): Boolean
- * def iterator: Iterator[A]
- * def += (elem: A): this.type
- * def -= (elem: A): this.type
- *
+/** A base trait for sets that can be mutated.
+ * $setNote
+ * $setTags
+ * @since 1.0
* @author Matthias Zenger
- * @author Martin Odersky
- * @version 2.8
- * @since 1
*/
trait Set[A] extends Iterable[A]
with scala.collection.Set[A]
@@ -34,8 +27,10 @@ trait Set[A] extends Iterable[A]
override def companion: GenericCompanion[Set] = Set
}
-/** The canonical factory methods for <a href="Set.html">mutable sets</a>.
- * Currently this returns a HashSet.
+/** $factoryInfo
+ * The current default implementation of a $Coll is a `HashSet`.
+ * @define coll mutable set
+ * @define Coll mutable.Set
*/
object Set extends SetFactory[Set] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Set[A]] = setCanBuildFrom[A]
diff --git a/src/library/scala/collection/mutable/SetBuilder.scala b/src/library/scala/collection/mutable/SetBuilder.scala
index 450d76463c..b8903372bd 100644
--- a/src/library/scala/collection/mutable/SetBuilder.scala
+++ b/src/library/scala/collection/mutable/SetBuilder.scala
@@ -15,6 +15,8 @@ import generic._
/** The canonical builder for mutable Sets.
*
+ * @tparam A The type of the elements that will be contained in this set.
+ * @tparam Coll The type of the actual collection this set builds.
* @param empty The empty element of the collection.
* @since 2.8
*/
diff --git a/src/library/scala/collection/mutable/Stack.scala b/src/library/scala/collection/mutable/Stack.scala
index c224c030a4..72e2f928c8 100644
--- a/src/library/scala/collection/mutable/Stack.scala
+++ b/src/library/scala/collection/mutable/Stack.scala
@@ -20,10 +20,18 @@ import annotation.migration
/** A stack implements a data structure which allows to store and retrieve
* objects in a last-in-first-out (LIFO) fashion.
*
+ * @tparam A type of the elements contained in this stack.
+ *
* @author Matthias Zenger
* @author Martin Odersky
* @version 2.8
* @since 1
+ * @define Coll Stack
+ * @define coll stack
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
@serializable @cloneable
class Stack[A] private (var elems: List[A]) extends scala.collection.Seq[A] with Cloneable[Stack[A]] {
diff --git a/src/library/scala/collection/mutable/StackProxy.scala b/src/library/scala/collection/mutable/StackProxy.scala
index d3810dd158..740afdfd7d 100644
--- a/src/library/scala/collection/mutable/StackProxy.scala
+++ b/src/library/scala/collection/mutable/StackProxy.scala
@@ -12,9 +12,12 @@
package scala.collection
package mutable
+
/** A stack implements a data structure which allows to store and retrieve
* objects in a last-in-first-out (LIFO) fashion.
*
+ * @tparam A type of the elements in this stack proxy.
+ *
* @author Matthias Zenger
* @version 1.0, 10/05/2004
* @since 1
diff --git a/src/library/scala/collection/mutable/StringBuilder.scala b/src/library/scala/collection/mutable/StringBuilder.scala
index d622d15056..40e7e991ee 100644
--- a/src/library/scala/collection/mutable/StringBuilder.scala
+++ b/src/library/scala/collection/mutable/StringBuilder.scala
@@ -16,11 +16,8 @@ import generic._
import compat.Platform.arraycopy
import scala.reflect.Manifest
-/** <p>
- * A mutable sequence of characters. This class provides an API compatible
- * with <a class="java/lang/StringBuilder" href="" target="_top">
- * <code>java.lang.StringBuilder</code></a>.
- * </p>generic/
+/** A builder for mutable sequence of characters. This class provides an API compatible
+ * with <a class="java/lang/StringBuilder" href="" target="_top">`java.lang.StringBuilder`</a>.
*
* @author Stephane Micheloud
* @author Martin Odersky
diff --git a/src/library/scala/collection/mutable/SynchronizedBuffer.scala b/src/library/scala/collection/mutable/SynchronizedBuffer.scala
index 0fef1a6635..7bdbd5e520 100644
--- a/src/library/scala/collection/mutable/SynchronizedBuffer.scala
+++ b/src/library/scala/collection/mutable/SynchronizedBuffer.scala
@@ -14,12 +14,16 @@ package mutable
import script._
-/** This class should be used as a mixin. It synchronizes the <code>Buffer</code>
+/** This class should be used as a mixin. It synchronizes the `Buffer`
* methods of the class into which it is mixed in.
*
+ * @tparam A type of the elements contained in this buffer.
+ *
* @author Matthias Zenger
* @version 1.0, 08/07/2003
* @since 1
+ * @define Coll SynchronizedBuffer
+ * @define coll synchronized buffer
*/
trait SynchronizedBuffer[A] extends Buffer[A] {
diff --git a/src/library/scala/collection/mutable/SynchronizedMap.scala b/src/library/scala/collection/mutable/SynchronizedMap.scala
index dabcaa7e1c..08c370ce90 100644
--- a/src/library/scala/collection/mutable/SynchronizedMap.scala
+++ b/src/library/scala/collection/mutable/SynchronizedMap.scala
@@ -14,12 +14,17 @@ package mutable
import annotation.migration
-/** This class should be used as a mixin. It synchronizes the <code>Map</code>
+/** This class should be used as a mixin. It synchronizes the `Map`
* functions of the class into which it is mixed in.
*
+ * @tparam A type of the keys contained in this map.
+ * @tparam B type of the values associated with keys.
+ *
* @author Matthias Zenger, Martin Odersky
* @version 2.0, 31/12/2006
* @since 1
+ * @define Coll SynchronizedMap
+ * @define coll synchronized map
*/
trait SynchronizedMap[A, B] extends Map[A, B] {
diff --git a/src/library/scala/collection/mutable/SynchronizedPriorityQueue.scala b/src/library/scala/collection/mutable/SynchronizedPriorityQueue.scala
index 933b3b41a4..bc70e35993 100644
--- a/src/library/scala/collection/mutable/SynchronizedPriorityQueue.scala
+++ b/src/library/scala/collection/mutable/SynchronizedPriorityQueue.scala
@@ -13,12 +13,16 @@ package scala.collection
package mutable
/** This class implements synchronized priority queues using a binary heap.
- * The elements of the queue have to be ordered in terms of the
- * <code>Ordered[T]</code> class.
+ * The elements of the queue have to be ordered in terms of the `Ordered[T]` class.
+ *
+ * @tparam A type of the elements contained in this synchronized priority queue
+ * @param ord implicit ordering used to compared elements of type `A`
*
* @author Matthias Zenger
* @version 1.0, 03/05/2004
* @since 1
+ * @define Coll SynchronizedPriorityQueue
+ * @define coll synchronized priority queue
*/
class SynchronizedPriorityQueue[A](implicit ord: Ordering[A]) extends PriorityQueue[A] {
diff --git a/src/library/scala/collection/mutable/SynchronizedQueue.scala b/src/library/scala/collection/mutable/SynchronizedQueue.scala
index b09687a78e..7a0f9f5f6f 100644
--- a/src/library/scala/collection/mutable/SynchronizedQueue.scala
+++ b/src/library/scala/collection/mutable/SynchronizedQueue.scala
@@ -13,13 +13,17 @@ package scala.collection
package mutable
-/** This is a synchronized version of the <code>Queue[T]</code> class. It
+/** This is a synchronized version of the `Queue[T]` class. It
* implements a data structure that allows one to insert and retrieve
* elements in a first-in-first-out (FIFO) manner.
*
+ * @tparam A type of elements contained in this synchronized queue.
+ *
* @author Matthias Zenger
* @version 1.0, 03/05/2004
* @since 1
+ * @define Coll SynchronizedQueue
+ * @define coll synchronized queue
*/
class SynchronizedQueue[A] extends Queue[A] {
import scala.collection.Traversable
diff --git a/src/library/scala/collection/mutable/SynchronizedSet.scala b/src/library/scala/collection/mutable/SynchronizedSet.scala
index d3023b9136..904da541c2 100644
--- a/src/library/scala/collection/mutable/SynchronizedSet.scala
+++ b/src/library/scala/collection/mutable/SynchronizedSet.scala
@@ -13,12 +13,16 @@ package mutable
import script._
-/** This class should be used as a mixin. It synchronizes the <code>Set</code>
+/** This class should be used as a mixin. It synchronizes the `Set`
* functions of the class into which it is mixed in.
*
+ * @tparam A type of the elements contained in this synchronized set.
+ *
* @author Matthias Zenger
* @version 1.0, 08/07/2003
* @since 1
+ * @define Coll SynchronizedSet
+ * @define coll synchronized set
*/
trait SynchronizedSet[A] extends Set[A] {
import scala.collection.Traversable
diff --git a/src/library/scala/collection/mutable/SynchronizedStack.scala b/src/library/scala/collection/mutable/SynchronizedStack.scala
index 4940884302..9109d2ef5d 100644
--- a/src/library/scala/collection/mutable/SynchronizedStack.scala
+++ b/src/library/scala/collection/mutable/SynchronizedStack.scala
@@ -13,13 +13,17 @@ package scala.collection
package mutable
-/** This is a synchronized version of the <code>Stack[T]</code> class. It
+/** This is a synchronized version of the `Stack[T]` class. It
* implements a data structure which allows to store and retrieve
* objects in a last-in-first-out (LIFO) fashion.
*
+ * @tparam A type of the elements contained in this stack.
+ *
* @author Matthias Zenger
* @version 1.0, 03/05/2004
* @since 1
+ * @define Coll SynchronizedStack
+ * @define coll synchronized stack
*/
class SynchronizedStack[A] extends Stack[A] {
import scala.collection.Traversable
diff --git a/src/library/scala/collection/mutable/Traversable.scala b/src/library/scala/collection/mutable/Traversable.scala
index 89c8868314..871e3a825d 100644
--- a/src/library/scala/collection/mutable/Traversable.scala
+++ b/src/library/scala/collection/mutable/Traversable.scala
@@ -25,10 +25,10 @@ trait Traversable[A] extends scala.collection.Traversable[A]
override def companion: GenericCompanion[Traversable] = Traversable
}
-/** A factory object for the trait <code>Traversable</code>.
- *
- * @author Martin Odersky
- * @version 2.8
+/** $factoryInfo
+ * The current default implementation of a $Coll is an `ArrayBuffer`.
+ * @define coll mutable traversable collection
+ * @define Coll mutable.Traversable
*/
object Traversable extends TraversableFactory[Traversable] {
implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = new GenericCanBuildFrom[A]
diff --git a/src/library/scala/collection/mutable/Undoable.scala b/src/library/scala/collection/mutable/Undoable.scala
index 782e407843..45d3121bd3 100644
--- a/src/library/scala/collection/mutable/Undoable.scala
+++ b/src/library/scala/collection/mutable/Undoable.scala
@@ -13,8 +13,8 @@ package scala.collection
package mutable
-/** Classes that mix in the <code>Undoable</code> class provide an operation
- * <code>undo</code> which can be used to undo the last operation.
+/** Classes that mix in the `Undoable` class provide an operation
+ * `undo` which can be used to undo the last operation.
*
* @author Matthias Zenger
* @version 1.0, 08/07/2003
diff --git a/src/library/scala/collection/mutable/WeakHashMap.scala b/src/library/scala/collection/mutable/WeakHashMap.scala
index 8f496add1e..929c3f8fed 100644
--- a/src/library/scala/collection/mutable/WeakHashMap.scala
+++ b/src/library/scala/collection/mutable/WeakHashMap.scala
@@ -16,15 +16,35 @@ import JavaConversions._
import generic._
-/** A hash map with weak references to entries which are weakly reachable.
+/** A hash map with references to entries which are weakly reachable.
+ *
+ * @tparam A type of keys contained in this map
+ * @tparam B type of values associated with the keys
*
* @since 2.8
+ * @define Coll WeakHashMap
+ * @define coll weak hash map
+ * @define thatinfo the class of the returned collection. In the standard library configuration,
+ * `That` is always `WeakHashMap[A, B]` if the elements contained in the resulting collection are
+ * pairs of type `(A, B)`. This is because an implicit of type `CanBuildFrom[WeakHashMap, (A, B), WeakHashMap[A, B]]`
+ * is defined in object `WeakHashMap`. Otherwise, `That` resolves to the most specific type that doesn't have
+ * to contain pairs of type `(A, B)`, which is `Iterable`.
+ * @define $bfinfo an implicit value of class `CanBuildFrom` which determines the
+ * result class `That` from the current representation type `Repr`
+ * and the new element type `B`. This is usually the `canBuildFrom` value
+ * defined in object `WeakHashMap`.
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
class WeakHashMap[A, B] extends JMapWrapper[A, B](new java.util.WeakHashMap)
with JMapWrapperLike[A, B, WeakHashMap[A, B]] {
override def empty = new WeakHashMap[A, B]
}
+/** $factoryInfo
+ * @define Coll WeakHashMap
+ * @define coll weak hash map
+ */
object WeakHashMap extends MutableMapFactory[WeakHashMap] {
implicit def canBuildFrom[A, B]: CanBuildFrom[Coll, (A, B), WeakHashMap[A, B]] = new MapCanBuildFrom[A, B]
def empty[A, B]: WeakHashMap[A, B] = new WeakHashMap[A, B]
diff --git a/src/library/scala/collection/mutable/WrappedArray.scala b/src/library/scala/collection/mutable/WrappedArray.scala
index 10117a1086..b9e803d8dc 100644
--- a/src/library/scala/collection/mutable/WrappedArray.scala
+++ b/src/library/scala/collection/mutable/WrappedArray.scala
@@ -16,11 +16,19 @@ import scala.reflect.ClassManifest
import scala.collection.generic._
/**
- * <p>A class representing <code>Array[T]</code></p>
+ * A class representing `Array[T]`.
+ *
+ * @tparam T type of the elements in this wrapped array.
*
* @author Martin Odersky, Stephane Micheloud
* @version 1.0
* @since 2.8
+ * @define Coll WrappedArray
+ * @define coll wrapped array
+ * @define orderDependent
+ * @define orderDependentFold
+ * @define mayNotTerminateInf
+ * @define willNotTerminateInf
*/
abstract class WrappedArray[T] extends IndexedSeq[T] with ArrayLike[T, WrappedArray[T]] {
@@ -59,6 +67,8 @@ abstract class WrappedArray[T] extends IndexedSeq[T] with ArrayLike[T, WrappedAr
new WrappedArrayBuilder[T](elemManifest)
}
+/** A companion object used to create instances of `WrappedArray`.
+ */
object WrappedArray {
def make[T](x: AnyRef): WrappedArray[T] = x match {
case x: Array[AnyRef] => wrapRefArray[AnyRef](x).asInstanceOf[WrappedArray[T]]
diff --git a/src/library/scala/collection/mutable/WrappedArrayBuilder.scala b/src/library/scala/collection/mutable/WrappedArrayBuilder.scala
index 7f1e4b3254..012a0be862 100644
--- a/src/library/scala/collection/mutable/WrappedArrayBuilder.scala
+++ b/src/library/scala/collection/mutable/WrappedArrayBuilder.scala
@@ -15,7 +15,10 @@ package mutable
import generic._
import scala.reflect.ClassManifest
-/** A builder class for arrays
+/** A builder class for arrays.
+ *
+ * @tparam A type of elements that can be added to this builder.
+ * @param manifest class manifest for objects of type `A`.
*
* @since 2.8
*/
diff --git a/src/library/scala/math/BigDecimal.scala b/src/library/scala/math/BigDecimal.scala
index bb6965fcdc..c4cccd1f52 100644
--- a/src/library/scala/math/BigDecimal.scala
+++ b/src/library/scala/math/BigDecimal.scala
@@ -30,6 +30,9 @@ object BigDecimal
private val minCached = -512
private val maxCached = 512
+ val MinLong = BigDecimal(Long.MinValue)
+ val MaxLong = BigDecimal(Long.MaxValue)
+
/** Cache ony for defaultMathContext using BigDecimals in a small range. */
private lazy val cache = new Array[BigDecimal](maxCached - minCached + 1)
@@ -173,12 +176,11 @@ extends ScalaNumber with ScalaNumericConversions
else doubleValue.hashCode()
/** Compares this BigDecimal with the specified value for equality.
- * Will only claim equality with scala.BigDecimal and java.math.BigDecimal.
*/
override def equals (that: Any): Boolean = that match {
case that: BigDecimal => this equals that
case that: BigInt => this.toBigIntExact exists (that equals _)
- case x => unifiedPrimitiveEquals(x)
+ case x => (this <= BigDecimal.MaxLong && this >= BigDecimal.MinLong) && unifiedPrimitiveEquals(x)
}
protected[math] def isWhole = (this remainder 1) == BigDecimal(0)
diff --git a/src/library/scala/math/BigInt.scala b/src/library/scala/math/BigInt.scala
index 5267ad8b95..f0988f2934 100644
--- a/src/library/scala/math/BigInt.scala
+++ b/src/library/scala/math/BigInt.scala
@@ -124,7 +124,7 @@ class BigInt(val bigInteger: BigInteger) extends ScalaNumber with ScalaNumericCo
override def equals(that: Any): Boolean = that match {
case that: BigInt => this equals that
case that: BigDecimal => that.toBigIntExact exists (this equals _)
- case x => unifiedPrimitiveEquals(x)
+ case x => (this <= BigInt.MaxLong && this >= BigInt.MinLong) && unifiedPrimitiveEquals(x)
}
protected[math] def isWhole = true
diff --git a/src/library/scala/math/ScalaNumericConversions.scala b/src/library/scala/math/ScalaNumericConversions.scala
index d983595c17..2e754c2584 100644
--- a/src/library/scala/math/ScalaNumericConversions.scala
+++ b/src/library/scala/math/ScalaNumericConversions.scala
@@ -33,15 +33,28 @@ trait ScalaNumericConversions extends ScalaNumber {
else lv.hashCode
}
+ /** Should only be called after all known non-primitive
+ * types have been excluded. This method won't dispatch
+ * anywhere else after checking against the primitives
+ * to avoid infinite recursion between equals and this on
+ * unknown "Number" variants.
+ *
+ * Additionally, this should only be called if the numeric
+ * type is happy to be converted to Long, Float, and Double.
+ * If for instance a BigInt much larger than the Long range is
+ * sent here, it will claim equality with whatever Long is left
+ * in its lower 64 bits. Or a BigDecimal with more precision
+ * than Double can hold: same thing. There's no way given the
+ * interface available here to prevent this error.
+ */
protected def unifiedPrimitiveEquals(x: Any) = x match {
case x: Char => isValidChar && (toInt == x.toInt)
case x: Byte => isValidByte && (toByte == x)
case x: Short => isValidShort && (toShort == x)
case x: Int => isValidInt && (toInt == x)
- case x: Long => toLong == x // XXX
- case x: Float => toFloat == x // XXX
- case x: Double => toDouble == x // XXX
- case x: Number => this equals x
+ case x: Long => toLong == x
+ case x: Float => toFloat == x
+ case x: Double => toDouble == x
case _ => false
}
}
diff --git a/src/library/scala/runtime/AbstractFunction0.scala b/src/library/scala/runtime/AbstractFunction0.scala
index 2d7d613132..a9e564f6f8 100644
--- a/src/library/scala/runtime/AbstractFunction0.scala
+++ b/src/library/scala/runtime/AbstractFunction0.scala
@@ -6,31 +6,14 @@
** |/ **
\* */
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
package scala.runtime
-abstract class AbstractFunction0[@specialized(Unit, Int, Long, Double) +R] extends Function0[R] { }
-abstract class AbstractFunction1[@specialized(Int, Long, Double) -T1,
- @specialized(Unit, Int, Long, Double) +R] extends Function1[T1, R] { }
-abstract class AbstractFunction2[@specialized(Int, Long, Double) -T1,
- @specialized(Int, Long, Double) -T2,
- @specialized(Unit, Int, Long, Double) +R] extends Function2[T1, T2, R] { }
-abstract class AbstractFunction3[-T1, -T2, -T3, +R] extends Function3[T1, T2, T3, R] { }
-abstract class AbstractFunction4[-T1, -T2, -T3, -T4, +R] extends Function4[T1, T2, T3, T4, R] { }
-abstract class AbstractFunction5[-T1, -T2, -T3, -T4, -T5, +R] extends Function5[T1, T2, T3, T4, T5, R] { }
-abstract class AbstractFunction6[-T1, -T2, -T3, -T4, -T5, -T6, +R] extends Function6[T1, T2, T3, T4, T5, T6, R] { }
-abstract class AbstractFunction7[-T1, -T2, -T3, -T4, -T5, -T6, -T7, +R] extends Function7[T1, T2, T3, T4, T5, T6, T7, R] { }
-abstract class AbstractFunction8[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, +R] extends Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] { }
-abstract class AbstractFunction9[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, +R] extends Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] { }
-abstract class AbstractFunction10[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, +R] extends Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] { }
-abstract class AbstractFunction11[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, +R] extends Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R] { }
-abstract class AbstractFunction12[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, +R] extends Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] { }
-abstract class AbstractFunction13[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, +R] extends Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] { }
-abstract class AbstractFunction14[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, +R] extends Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] { }
-abstract class AbstractFunction15[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, +R] extends Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] { }
-abstract class AbstractFunction16[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, +R] extends Function16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R] { }
-abstract class AbstractFunction17[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, +R] extends Function17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, R] { }
-abstract class AbstractFunction18[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, +R] extends Function18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, R] { }
-abstract class AbstractFunction19[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, +R] extends Function19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, R] { }
-abstract class AbstractFunction20[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, +R] extends Function20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, R] { }
-abstract class AbstractFunction21[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, +R] extends Function21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, R] { }
-abstract class AbstractFunction22[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, +R] extends Function22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R] { }
+
+
+abstract class AbstractFunction0[@specialized +R] extends Function0[R] {
+
+}
diff --git a/src/actors/scala/actors/AbstractReactor.scala b/src/library/scala/runtime/AbstractFunction1.scala
index d9dbd39c2b..0a8a754236 100644
--- a/src/actors/scala/actors/AbstractReactor.scala
+++ b/src/library/scala/runtime/AbstractFunction1.scala
@@ -1,6 +1,6 @@
/* __ *\
** ________ ___ / / ___ Scala API **
-** / __/ __// _ | / / / _ | (c) 2005-2010, LAMP/EPFL **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
@@ -8,19 +8,12 @@
// $Id$
-/**
- * The <code>AbstractReactor</code> trait.
- *
- * @author Philipp Haller
- */
-package scala.actors
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
-trait AbstractReactor[-T] {
+package scala.runtime
- /**
- * Sends <code>msg</code> to this
- * <code>AbstractReactor</code> (asynchronous).
- */
- def !(msg: T): Unit
+
+
+abstract class AbstractFunction1[@specialized(Int, Long, Double) -T1, @specialized(Unit, Boolean, Int, Long, Double) +R] extends Function1[T1, R] {
}
diff --git a/src/library/scala/runtime/AbstractFunction10.scala b/src/library/scala/runtime/AbstractFunction10.scala
new file mode 100644
index 0000000000..0830054e1a
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction10.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction10[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, +R] extends Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction11.scala b/src/library/scala/runtime/AbstractFunction11.scala
new file mode 100644
index 0000000000..6ee68126d5
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction11.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction11[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, +R] extends Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction12.scala b/src/library/scala/runtime/AbstractFunction12.scala
new file mode 100644
index 0000000000..cda522dd37
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction12.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction12[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, +R] extends Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction13.scala b/src/library/scala/runtime/AbstractFunction13.scala
new file mode 100644
index 0000000000..016bcd4a31
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction13.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction13[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, +R] extends Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction14.scala b/src/library/scala/runtime/AbstractFunction14.scala
new file mode 100644
index 0000000000..fc97bc8936
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction14.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction14[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, +R] extends Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction15.scala b/src/library/scala/runtime/AbstractFunction15.scala
new file mode 100644
index 0000000000..9dc7a75b36
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction15.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction15[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, +R] extends Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction16.scala b/src/library/scala/runtime/AbstractFunction16.scala
new file mode 100644
index 0000000000..3f8f19621a
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction16.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction16[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, +R] extends Function16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction17.scala b/src/library/scala/runtime/AbstractFunction17.scala
new file mode 100644
index 0000000000..1b8ea58c56
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction17.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction17[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, +R] extends Function17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction18.scala b/src/library/scala/runtime/AbstractFunction18.scala
new file mode 100644
index 0000000000..63aa6cf8d1
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction18.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction18[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, +R] extends Function18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction19.scala b/src/library/scala/runtime/AbstractFunction19.scala
new file mode 100644
index 0000000000..7a511ddd6e
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction19.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction19[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, +R] extends Function19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction2.scala b/src/library/scala/runtime/AbstractFunction2.scala
new file mode 100644
index 0000000000..0f75b2af87
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction2.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction2[@specialized(Int, Long, Double) -T1, @specialized(Int, Long, Double) -T2, @specialized(Unit, Boolean, Int, Long, Double) +R] extends Function2[T1, T2, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction20.scala b/src/library/scala/runtime/AbstractFunction20.scala
new file mode 100644
index 0000000000..6afb329503
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction20.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction20[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, +R] extends Function20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction21.scala b/src/library/scala/runtime/AbstractFunction21.scala
new file mode 100644
index 0000000000..8996f2f397
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction21.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction21[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, +R] extends Function21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction22.scala b/src/library/scala/runtime/AbstractFunction22.scala
new file mode 100644
index 0000000000..8b33534291
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction22.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction22[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, +R] extends Function22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction3.scala b/src/library/scala/runtime/AbstractFunction3.scala
new file mode 100644
index 0000000000..463d3d8a1d
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction3.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction3[-T1, -T2, -T3, +R] extends Function3[T1, T2, T3, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction4.scala b/src/library/scala/runtime/AbstractFunction4.scala
new file mode 100644
index 0000000000..f7bc7d12a9
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction4.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction4[-T1, -T2, -T3, -T4, +R] extends Function4[T1, T2, T3, T4, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction5.scala b/src/library/scala/runtime/AbstractFunction5.scala
new file mode 100644
index 0000000000..6642bb75bb
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction5.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction5[-T1, -T2, -T3, -T4, -T5, +R] extends Function5[T1, T2, T3, T4, T5, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction6.scala b/src/library/scala/runtime/AbstractFunction6.scala
new file mode 100644
index 0000000000..70944947e7
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction6.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction6[-T1, -T2, -T3, -T4, -T5, -T6, +R] extends Function6[T1, T2, T3, T4, T5, T6, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction7.scala b/src/library/scala/runtime/AbstractFunction7.scala
new file mode 100644
index 0000000000..ba4a35f743
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction7.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction7[-T1, -T2, -T3, -T4, -T5, -T6, -T7, +R] extends Function7[T1, T2, T3, T4, T5, T6, T7, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction8.scala b/src/library/scala/runtime/AbstractFunction8.scala
new file mode 100644
index 0000000000..c3a0f0f9e3
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction8.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction8[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, +R] extends Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] {
+
+}
diff --git a/src/library/scala/runtime/AbstractFunction9.scala b/src/library/scala/runtime/AbstractFunction9.scala
new file mode 100644
index 0000000000..7e0541e246
--- /dev/null
+++ b/src/library/scala/runtime/AbstractFunction9.scala
@@ -0,0 +1,19 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated by genprod on Mon Apr 12 15:28:18 CEST 2010
+
+package scala.runtime
+
+
+
+abstract class AbstractFunction9[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, +R] extends Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] {
+
+}
diff --git a/src/library/scala/util/Random.scala b/src/library/scala/util/Random.scala
index ffa248d638..cd9d5eed0e 100644
--- a/src/library/scala/util/Random.scala
+++ b/src/library/scala/util/Random.scala
@@ -89,14 +89,12 @@ class Random(val self: java.util.Random) {
List.fill(length)(safeChar()).mkString
}
- /** Returns a pseudorandomly generated String drawing upon
- * only ASCII characters between 33 and 126.
+ /** Returns the next pseudorandom, uniformly distributed value
+ * from the ASCII range 33-126.
*/
- def nextASCIIString(length: Int) = {
- val (min, max) = (33, 126)
- def nextDigit = nextInt(max - min) + min
-
- new String(Array.fill(length)(nextDigit.toByte), "ASCII")
+ def nextPrintableChar(): Char = {
+ val (low, high) = (33, 126)
+ (self.nextInt(high - low) + low).toChar
}
def setSeed(seed: Long) { self.setSeed(seed) }
@@ -111,6 +109,17 @@ object Random extends Random {
import collection.mutable.ArrayBuffer
import collection.generic.CanBuildFrom
+ /** Returns a Stream of pseudorandomly chosen alphanumeric characters,
+ * equally chosen from A-Z, a-z, and 0-9.
+ *
+ * @since 2.8
+ */
+ def alphanumeric: Stream[Char] = {
+ def isAlphaNum(c: Char) = (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9')
+
+ Stream continually nextPrintableChar filter isAlphaNum
+ }
+
/** Returns a new collection of the same type in a randomly chosen order.
*
* @param coll the TraversableOnce to shuffle
diff --git a/src/partest/scala/tools/partest/Actions.scala b/src/partest/scala/tools/partest/Actions.scala
index 15351db2a7..ce554959eb 100644
--- a/src/partest/scala/tools/partest/Actions.scala
+++ b/src/partest/scala/tools/partest/Actions.scala
@@ -49,7 +49,7 @@ trait Actions {
protected def execAndLog(cmd: String): Boolean = {
var proc: Process = null
- val result = interruptMeIn(testTimeout) {
+ val result = interruptMeIn(cmd, testTimeout) {
loggingResult {
proc = Process.exec(toArgs(cmd), execEnv, execCwd.orNull, true)
proc.slurp()
@@ -123,6 +123,10 @@ trait Actions {
self: TestEntity =>
def checkFile: File = withExtension("check").toFile
+ def isCheckPresent = checkFile.isFile || {
+ warnAndLog("A checkFile at '%s' is mandatory.\n" format checkFile.path)
+ false
+ }
def normalizePaths(s: String) = {
/** This accomodates slash/backslash issues by noticing when a given
diff --git a/src/partest/scala/tools/partest/Alarms.scala b/src/partest/scala/tools/partest/Alarms.scala
index 72afc232e5..f38d8d6268 100644
--- a/src/partest/scala/tools/partest/Alarms.scala
+++ b/src/partest/scala/tools/partest/Alarms.scala
@@ -11,13 +11,14 @@ import java.util.{ Timer, TimerTask }
trait Alarms {
self: Universe =>
- def interruptMeIn[T](seconds: Int)(body: => T): Option[T] = {
+ def interruptMeIn[T](debugMsg: String, seconds: Int)(body: => T): Option[T] = {
val thisThread = currentThread
val alarm = new SimpleAlarm(seconds * 1000) set thisThread.interrupt()
+ debug("interruptMeIn(%d) '%s'".format(seconds, debugMsg))
try { Some(body) }
- catch { case _: InterruptedException => None }
- finally { alarm.cancel() ; Thread.interrupted() }
+ catch { case _: InterruptedException => debug("Received interrupted exception.") ; None }
+ finally { debug("Cancelling interruptMeIn '%s'" format debugMsg) ; alarm.cancel() ; Thread.interrupted() }
}
case class AlarmerAction(secs: Int, action: () => Unit) extends Runnable {
diff --git a/src/partest/scala/tools/partest/Categories.scala b/src/partest/scala/tools/partest/Categories.scala
index 1d5a21153f..c7a080dafe 100644
--- a/src/partest/scala/tools/partest/Categories.scala
+++ b/src/partest/scala/tools/partest/Categories.scala
@@ -55,10 +55,11 @@ trait Categories {
/** Standard actions. These can be overridden either on the
* Category level or by individual tests.
*/
- def compile: TestStep = (_: TestEntity).compile()
- def diff: TestStep = (_: TestEntity).diff()
- def run: TestStep = (_: TestEntity).run()
- def exec: TestStep = (_: TestEntity).exec()
+ def compile: TestStep = (_: TestEntity).compile()
+ def isCheckPresent: TestStep = (_: TestEntity).isCheckPresent
+ def diff: TestStep = (_: TestEntity).diff()
+ def run: TestStep = (_: TestEntity).run()
+ def exec: TestStep = (_: TestEntity).exec()
/** Combinators.
*/
diff --git a/src/partest/scala/tools/partest/Compilable.scala b/src/partest/scala/tools/partest/Compilable.scala
index d7365c1620..73dcdfce73 100644
--- a/src/partest/scala/tools/partest/Compilable.scala
+++ b/src/partest/scala/tools/partest/Compilable.scala
@@ -82,8 +82,12 @@ trait PartestCompilation {
def partestCompile(files: List[String], printSummary: Boolean): Boolean = {
try { new Run compile files }
catch {
- case FatalError(msg) => creporter.error(null, "fatal error: " + msg)
+ case FatalError(msg) => creporter.error(null, "fatal error: " + msg)
case ae: AssertionError => creporter.error(null, ""+ae)
+ case te: TypeError => creporter.error(null, ""+te)
+ case ex =>
+ creporter.error(null, ""+ex)
+ throw ex
}
if (printSummary)
diff --git a/src/partest/scala/tools/partest/Entities.scala b/src/partest/scala/tools/partest/Entities.scala
index 658cfdee12..2339250699 100644
--- a/src/partest/scala/tools/partest/Entities.scala
+++ b/src/partest/scala/tools/partest/Entities.scala
@@ -63,9 +63,7 @@ trait Entities {
/** The memoized result of the test run.
*/
private lazy val process = {
- def preCheck = precondition || returning(false)(_ => trace("precondition failed"))
- def allSteps = testSequence.actions forall (f => f(this))
- val outcome = runWrappers(preCheck && allSteps)
+ val outcome = runWrappers(testSequence.actions forall (f => f(this)))
// an empty outcome means we've been interrupted and are shutting down.
outcome getOrElse false
diff --git a/src/partest/scala/tools/partest/Partest.scala b/src/partest/scala/tools/partest/Partest.scala
index d6adcc6053..7efac63354 100644
--- a/src/partest/scala/tools/partest/Partest.scala
+++ b/src/partest/scala/tools/partest/Partest.scala
@@ -58,7 +58,16 @@ class Partest(args: List[String]) extends {
combinedFilter _
}
- def launchTestSuite() = runSelection(selectedCategories, filter)
+ def launchTestSuite() = {
+ def onTimeout() = {
+ warning("Partest test run timed out after " + timeout + " seconds.\n")
+ System.exit(-1)
+ }
+ val alarm = new Alarmer(AlarmerAction(timeout, () => onTimeout()))
+
+ try runSelection(selectedCategories, filter)
+ finally alarm.cancelAll()
+ }
}
object Partest {
diff --git a/src/partest/scala/tools/partest/PartestSpec.scala b/src/partest/scala/tools/partest/PartestSpec.scala
index 50c82fb783..a89c30a14d 100644
--- a/src/partest/scala/tools/partest/PartestSpec.scala
+++ b/src/partest/scala/tools/partest/PartestSpec.scala
@@ -70,7 +70,7 @@ trait PartestSpec extends Spec with Meta.StdOpts with Interpolation {
val isAnsi = "ansi" / "print output in color" --?
heading ("Other options:")
- val timeout = "timeout" / "Overall timeout in seconds" defaultTo 14400
+ val timeout = "timeout" / "Overall timeout in seconds" defaultTo 7200
val testWarning = "test-warning" / "Test warning in seconds" defaultTo 90
val testTimeout = "test-timeout" / "Test timeout in seconds" defaultTo 900
val isCleanup = "cleanup" / "delete all stale files and dirs before run" --?
diff --git a/src/partest/scala/tools/partest/Universe.scala b/src/partest/scala/tools/partest/Universe.scala
index 557d48fe54..942fc1a8be 100644
--- a/src/partest/scala/tools/partest/Universe.scala
+++ b/src/partest/scala/tools/partest/Universe.scala
@@ -75,11 +75,6 @@ abstract class Universe
def onException(x: Throwable): Unit
def testClasspath: String
- /** Any preconditions before running the test. Test fails
- * immediately if this returns false.
- */
- def precondition: Boolean = true
-
/** Most tests will use the sequence defined by the category,
* but the test can override and define a custom sequence.
*/
diff --git a/src/partest/scala/tools/partest/category/AllCategories.scala b/src/partest/scala/tools/partest/category/AllCategories.scala
index ce6573123a..ecf0737cbe 100644
--- a/src/partest/scala/tools/partest/category/AllCategories.scala
+++ b/src/partest/scala/tools/partest/category/AllCategories.scala
@@ -14,7 +14,7 @@ trait AllCategories extends Compiler with Analysis with Runner {
self: Universe =>
object Pos extends DirBasedCategory("pos") { lazy val testSequence: TestSequence = List(compile) }
- object Neg extends DirBasedCategory("neg") { lazy val testSequence: TestSequence = List(not(compile), diff) }
+ object Neg extends DirBasedCategory("neg") { lazy val testSequence: TestSequence = List(isCheckPresent, not(compile), diff) }
object Run extends DirBasedCategory("run") { lazy val testSequence: TestSequence = List(compile, run, diff) }
object Jvm extends DirBasedCategory("jvm") { lazy val testSequence: TestSequence = List(compile, run, diff) }
}
diff --git a/src/partest/scala/tools/partest/category/Analysis.scala b/src/partest/scala/tools/partest/category/Analysis.scala
index f2b43ebf6d..d05ee6bb21 100644
--- a/src/partest/scala/tools/partest/category/Analysis.scala
+++ b/src/partest/scala/tools/partest/category/Analysis.scala
@@ -32,7 +32,7 @@ trait Analysis {
self: Universe =>
object Scalap extends DirBasedCategory("scalap") {
- val testSequence: TestSequence = List(compile, run, diff)
+ val testSequence: TestSequence = List(isCheckPresent, compile, run, diff)
override def denotesTest(p: Path) = p.isDirectory && (p.toDirectory.files exists (_.name == "result.test"))
override def createTest(location: Path) = new ScalapTest(location)
@@ -43,7 +43,6 @@ trait Analysis {
override def classpathPaths = super.classpathPaths :+ build.scalap
override def checkFile = File(location / "result.test")
- override def precondition = checkFile.isFile && super.precondition
private def runnerURLs = build.classpathPaths ::: classpathPaths map (_.toURL)
private def createClassLoader = new PartestClassLoader(runnerURLs.toArray, this.getClass.getClassLoader)
diff --git a/src/partest/scala/tools/partest/category/Compiler.scala b/src/partest/scala/tools/partest/category/Compiler.scala
index 58fd8230e2..11112509cc 100644
--- a/src/partest/scala/tools/partest/category/Compiler.scala
+++ b/src/partest/scala/tools/partest/category/Compiler.scala
@@ -19,7 +19,7 @@ trait Compiler {
* $SCALAC -d dir.obj -Xresident -sourcepath . "$@"
*/
object Res extends DirBasedCategory("res") {
- lazy val testSequence: TestSequence = List(compile, diff)
+ lazy val testSequence: TestSequence = List(isCheckPresent, compile, diff)
override def denotesTest(p: Path) = p.isDirectory && resFile(p).isFile
override def createTest(location: Path) = new ResidentTest(location.toDirectory)
@@ -32,7 +32,6 @@ trait Compiler {
class ResidentTest(val location: Directory) extends TestEntity {
val category = Res
- override def precondition = checkFile.isFile && super.precondition
override def sourcesDir = categoryDir
override def acknowledges(p: Path) =
@@ -62,7 +61,7 @@ trait Compiler {
}
object BuildManager extends DirBasedCategory("buildmanager") {
- lazy val testSequence: TestSequence = List(compile, diff)
+ lazy val testSequence: TestSequence = List(isCheckPresent, compile, diff)
override def denotesTest(p: Path) = p.isDirectory && testFile(p).isFile
override def createTest(location: Path) = new BuildManagerTest(location.toDirectory)
@@ -100,7 +99,6 @@ trait Compiler {
override def sourcesDir = outDir
override def sourceFiles = Path onlyFiles (location walkFilter (_ != changesDir) filter isJavaOrScala toList)
override def checkFile = File(location / location.name addExtension "check")
- override def precondition = checkFile.isFile && super.precondition
override def acknowledges(p: Path) = super.acknowledges(p) || (p isSame testFile(location))
diff --git a/src/partest/scala/tools/partest/category/Runner.scala b/src/partest/scala/tools/partest/category/Runner.scala
index a7713d7dbe..10bf5794a9 100644
--- a/src/partest/scala/tools/partest/category/Runner.scala
+++ b/src/partest/scala/tools/partest/category/Runner.scala
@@ -75,7 +75,7 @@ trait Runner {
def allResults() =
for ((prop, res) <- result) yield {
- ScalacheckTest.this.trace("scalacheck result for %s: %s".format(prop, res))
+ ScalacheckTest.this.trace("%s: %s".format(prop, res))
res.asInstanceOf[ScalacheckResult].passed
}
diff --git a/src/partest/scala/tools/partest/io/Logging.scala b/src/partest/scala/tools/partest/io/Logging.scala
index 3667faaf3d..d244d58757 100644
--- a/src/partest/scala/tools/partest/io/Logging.scala
+++ b/src/partest/scala/tools/partest/io/Logging.scala
@@ -76,7 +76,7 @@ trait Logging {
try returning(true)(_ => logFile writeAll body)
catch {
case x: ControlThrowable => throw x
- case x: InterruptedException => normal(this + " received interrupt, failing.\n") ; false
+ case x: InterruptedException => debug(this + " received interrupt, failing.\n") ; false
case x: Throwable => logException(x)
}
@@ -86,12 +86,14 @@ trait Logging {
w.toString
}
- def warnAndLogException(msg: String, ex: Throwable) = {
- val str = msg + throwableToString(ex)
+ def warnAndLog(str: String) = {
warning(toStringTrunc(str, 800))
logWriter append str
}
+ def warnAndLogException(msg: String, ex: Throwable) =
+ warnAndLog(msg + throwableToString(ex))
+
def deleteLog(force: Boolean = false) =
if (universe.isNoCleanup && !force) debug("Not cleaning up " + logFile)
else logFile.deleteIfExists()
diff --git a/src/swing/scala/swing/Table.scala b/src/swing/scala/swing/Table.scala
index 8030c5043a..9370ea7eb1 100644
--- a/src/swing/scala/swing/Table.scala
+++ b/src/swing/scala/swing/Table.scala
@@ -124,7 +124,7 @@ class Table extends Component with Scrollable.Wrapper {
// TODO: use IndexedSeq[_ <: IndexedSeq[Any]], see ticket #2005
def this(rowData: Array[Array[Any]], columnNames: Seq[_]) = {
this()
- peer.setModel(new AbstractTableModel {
+ model = new AbstractTableModel {
override def getColumnName(column: Int) = columnNames(column).toString
def getRowCount() = rowData.length
def getColumnCount() = columnNames.length
@@ -134,7 +134,7 @@ class Table extends Component with Scrollable.Wrapper {
rowData(row)(col) = value
fireTableCellUpdated(row, col)
}
- })
+ }
}
def this(rows: Int, columns: Int) = {
this()
@@ -155,6 +155,7 @@ class Table extends Component with Scrollable.Wrapper {
def model = peer.getModel()
def model_=(x: TableModel) = {
peer.setModel(x)
+ model.removeTableModelListener(modelListener)
model.addTableModelListener(modelListener)
}
@@ -312,5 +313,4 @@ class Table extends Component with Scrollable.Wrapper {
}
)
}
- model.addTableModelListener(modelListener)
}
diff --git a/src/swing/scala/swing/test/UIDemo.scala b/src/swing/scala/swing/test/UIDemo.scala
index ce40fe2056..9207c82948 100644
--- a/src/swing/scala/swing/test/UIDemo.scala
+++ b/src/swing/scala/swing/test/UIDemo.scala
@@ -73,11 +73,7 @@ object UIDemo extends SimpleSwingApplication {
reactLive = live.selected
}
}
- contents += new Button("Center Frame") {
- reactions += {
- case ButtonClicked(_) => centerOnScreen()
- }
- }
+ contents += new Button(Action("Center Frame") { centerOnScreen() })
}
pages += new Page("Buttons", buttons)
pages += new Page("GridBag", GridBagDemo.ui)
diff --git a/test/files/run/spec-matrix.check b/test/disabled/run/spec-matrix.check
index 72e8ffc0db..72e8ffc0db 100644
--- a/test/files/run/spec-matrix.check
+++ b/test/disabled/run/spec-matrix.check
diff --git a/test/files/run/spec-matrix.scala b/test/disabled/run/spec-matrix.scala
index 81e3eaf212..81e3eaf212 100644
--- a/test/files/run/spec-matrix.scala
+++ b/test/disabled/run/spec-matrix.scala
diff --git a/test/files/jvm/actor-exceptions.scala b/test/files/jvm/actor-exceptions.scala
index 77bf05c048..384226d777 100644
--- a/test/files/jvm/actor-exceptions.scala
+++ b/test/files/jvm/actor-exceptions.scala
@@ -13,12 +13,17 @@ case class MyOtherException(text: String) extends Exception {
object Master extends Actor {
trapExit = true
def act() {
+ try {
link(Slave)
Slave.start()
for (i <- 0 until 10) Slave ! A
react {
case Exit(from, reason) =>
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -28,6 +33,7 @@ object Slave extends Actor {
case MyException(text) =>
}
def act() {
+ try {
var cnt = 0
loop {
react {
@@ -39,6 +45,10 @@ object Slave extends Actor {
}
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/actor-executor.scala b/test/files/jvm/actor-executor.scala
index 435c666fff..b1f9caebdd 100644
--- a/test/files/jvm/actor-executor.scala
+++ b/test/files/jvm/actor-executor.scala
@@ -9,6 +9,7 @@ trait AdaptedActor extends Actor {
object One extends AdaptedActor {
def act() {
+ try {
Two.start()
var i = 0
loopWhile (i < 10000) {
@@ -22,11 +23,16 @@ object One extends AdaptedActor {
Test.executor.shutdown()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
object Two extends AdaptedActor {
def act() {
+ try {
var i = 0
loopWhile (i < 10000) {
i += 1
@@ -37,6 +43,10 @@ object Two extends AdaptedActor {
One ! 'MsgForOne
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/actor-executor2.scala b/test/files/jvm/actor-executor2.scala
index 9e99e167aa..da64a7fc43 100644
--- a/test/files/jvm/actor-executor2.scala
+++ b/test/files/jvm/actor-executor2.scala
@@ -4,6 +4,7 @@ import java.util.concurrent.Executors
object One extends AdaptedActor {
def act() {
+ try {
Two.start()
var i = 0
loopWhile (i < Test.NUM_MSG) {
@@ -15,11 +16,16 @@ object One extends AdaptedActor {
println("One: OK")
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
object Two extends AdaptedActor {
def act() {
+ try {
var i = 0
loopWhile (i < Test.NUM_MSG) {
i += 1
@@ -30,6 +36,10 @@ object Two extends AdaptedActor {
One ! 'MsgForOne
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -54,6 +64,7 @@ object Test {
}
def main(args: Array[String]) {
+ try {
self.trapExit = true
link(One)
One.start()
@@ -63,5 +74,9 @@ object Test {
println("One exited")
Test.executor.shutdown()
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/actor-executor3.scala b/test/files/jvm/actor-executor3.scala
index bf060b8ac5..4fde2c6c5f 100644
--- a/test/files/jvm/actor-executor3.scala
+++ b/test/files/jvm/actor-executor3.scala
@@ -4,6 +4,7 @@ import java.util.concurrent.Executors
object One extends AdaptedActor {
def act() {
+ try {
Two.start()
var i = 0
loopWhile (i < Test.NUM_MSG) {
@@ -15,11 +16,16 @@ object One extends AdaptedActor {
println("One: OK")
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
object Two extends AdaptedActor {
def act() {
+ try {
var i = 0
loopWhile (i < Test.NUM_MSG) {
i += 1
@@ -30,6 +36,10 @@ object Two extends AdaptedActor {
One ! 'MsgForOne
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/actor-link-getstate.scala b/test/files/jvm/actor-link-getstate.scala
index ec01757883..c4c33ef752 100644
--- a/test/files/jvm/actor-link-getstate.scala
+++ b/test/files/jvm/actor-link-getstate.scala
@@ -7,6 +7,7 @@ case class MyException(text: String) extends Exception(text) {
object Slave extends Actor {
def act() {
+ try {
loop {
react {
case 'doWork =>
@@ -14,18 +15,27 @@ object Slave extends Actor {
reply('done)
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
object Master extends Actor {
override def toString = "Master"
def act() {
+ try {
link(Slave)
Slave ! 'doWork
react {
case 'done =>
throw new MyException("Master crashed")
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -33,6 +43,7 @@ object Test {
def main(args: Array[String]) {
actor {
+ try {
self.trapExit = true
link(Slave)
Slave.start()
@@ -41,6 +52,10 @@ object Test {
case Exit(from, reason) if (from == Slave) =>
Console.err.println(Slave.getState)
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/actor-looping.scala b/test/files/jvm/actor-looping.scala
index 9599adbb2c..475d4754ce 100644
--- a/test/files/jvm/actor-looping.scala
+++ b/test/files/jvm/actor-looping.scala
@@ -6,6 +6,7 @@ object Test {
def main(args: Array[String]) {
val a = actor {
+ try {
var cnt = 0
loop {
react {
@@ -20,6 +21,10 @@ object Test {
}
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
for (i <- 0 until 10) a ! A
diff --git a/test/files/jvm/actor-normal-exit.scala b/test/files/jvm/actor-normal-exit.scala
index 40dc7b7da4..20863d5bb0 100644
--- a/test/files/jvm/actor-normal-exit.scala
+++ b/test/files/jvm/actor-normal-exit.scala
@@ -5,18 +5,28 @@ object Test {
object Master extends Actor {
trapExit = true
def act() {
+ try {
Slave.start()
react {
case Exit(from, reason) =>
println("slave exited for reason " + reason)
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
object Slave extends Actor {
def act() {
+ try {
link(Master)
println("Done")
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/actor-termination.scala b/test/files/jvm/actor-termination.scala
index 19dfaf8e17..d8e44a2797 100644
--- a/test/files/jvm/actor-termination.scala
+++ b/test/files/jvm/actor-termination.scala
@@ -5,9 +5,14 @@ import scala.actors.Actor
object Test {
def main(args: Array[String]) {
Actor.actor {
+ try {
println("I'm going to make you wait.")
Thread.sleep(5000)
println("Ok, I'm done.")
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
}
diff --git a/test/files/jvm/actor-uncaught-exception.scala b/test/files/jvm/actor-uncaught-exception.scala
index 9f64be26e1..9dbd36dd82 100644
--- a/test/files/jvm/actor-uncaught-exception.scala
+++ b/test/files/jvm/actor-uncaught-exception.scala
@@ -8,20 +8,32 @@ object Test {
case object StartError extends Actor {
def act() {
+ try {
throw new MyException("I don't want to run!")
+ } catch {
+ case e: Throwable if (!e.isInstanceOf[scala.util.control.ControlThrowable] &&
+ !e.isInstanceOf[MyException]) =>
+ e.printStackTrace()
+ }
}
}
case object MessageError extends Actor {
def act() {
+ try {
react {
case _ => throw new MyException("No message for me!")
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
case object Supervisor extends Actor {
def act() {
+ try {
trapExit = true
link(StartError)
link(MessageError)
@@ -37,6 +49,10 @@ object Test {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/actor-uncaught-exception2.scala b/test/files/jvm/actor-uncaught-exception2.scala
index 973cfb370a..626ce5da92 100644
--- a/test/files/jvm/actor-uncaught-exception2.scala
+++ b/test/files/jvm/actor-uncaught-exception2.scala
@@ -8,20 +8,32 @@ object Test {
case object StartError extends Actor {
def act() {
+ try {
throw new MyException("I don't want to run!")
+ } catch {
+ case e: Throwable if (!e.isInstanceOf[scala.util.control.ControlThrowable] &&
+ !e.isInstanceOf[MyException]) =>
+ e.printStackTrace()
+ }
}
}
case object MessageError extends Actor {
def act() {
+ try {
react {
case _ => throw new MyException("No message for me!")
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
case object Supervisor extends Actor {
def act() {
+ try {
trapExit = true
link(StartError)
link(MessageError)
@@ -38,6 +50,10 @@ object Test {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/daemon-actor-termination.scala b/test/files/jvm/daemon-actor-termination.scala
index 8e64749b1c..6ddfc3139d 100644
--- a/test/files/jvm/daemon-actor-termination.scala
+++ b/test/files/jvm/daemon-actor-termination.scala
@@ -5,6 +5,7 @@ object Test {
class MyDaemon extends DaemonActor {
def act() {
+ try {
react {
case 'hello =>
println("MSG1")
@@ -14,6 +15,10 @@ object Test {
println("done")
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -21,8 +26,13 @@ object Test {
val daemon = new MyDaemon
daemon.start()
Actor.actor {
+ try {
daemon !? 'hello
println("MSG2")
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
}
diff --git a/test/files/jvm/future-alarm.scala b/test/files/jvm/future-alarm.scala
index 0dda492741..8ee902b5ea 100644
--- a/test/files/jvm/future-alarm.scala
+++ b/test/files/jvm/future-alarm.scala
@@ -2,6 +2,7 @@ import scala.actors.Futures
object Test {
def main(args: Array[String]) {
+ try {
for (i <- 1 to 100000) {
Futures.alarm(0)
if (i % 10000 == 0)
@@ -12,5 +13,9 @@ object Test {
ft()
println("OK")
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/future-awaitall-zero.scala b/test/files/jvm/future-awaitall-zero.scala
index 125670d049..cd6ba172cc 100644
--- a/test/files/jvm/future-awaitall-zero.scala
+++ b/test/files/jvm/future-awaitall-zero.scala
@@ -3,6 +3,7 @@ import scala.actors.Actor._
object Test {
def main(args: Array[String]) {
+ try {
val ft1 = future { reactWithin(10000) {
case _ => println("FAIL")
} }
@@ -13,5 +14,9 @@ object Test {
val res = awaitAll(0, ft1, ft2)
println("OK")
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/future-termination.scala b/test/files/jvm/future-termination.scala
index c448a88aa7..688de60c3b 100644
--- a/test/files/jvm/future-termination.scala
+++ b/test/files/jvm/future-termination.scala
@@ -4,11 +4,16 @@ import scala.actors.Futures
object Test {
def main(args: Array[String]) {
+ try {
val meaningOfLife = Futures.future {
Thread.sleep(5000) // pretend this is a harder problem than it is
println("I have the answer!")
42
}
println("I can't wait that long, bye.")
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/reactor-exceptionOnSend.scala b/test/files/jvm/reactor-exceptionOnSend.scala
index c89aab334b..3d9a042131 100644
--- a/test/files/jvm/reactor-exceptionOnSend.scala
+++ b/test/files/jvm/reactor-exceptionOnSend.scala
@@ -19,6 +19,7 @@ object A extends Reactor[Any] {
var state = 0
def act() {
+ try {
loop {
react {
case 'hello if guard() =>
@@ -26,14 +27,24 @@ object A extends Reactor[Any] {
exit()
}
}
+ } catch {
+ case e: Throwable if (!e.isInstanceOf[scala.util.control.ControlThrowable] &&
+ !e.isInstanceOf[MyException]) =>
+ e.printStackTrace()
+ }
}
}
object B extends Reactor[Any] {
def act() {
+ try {
A.start()
A ! 'hello
A ! 'hello
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/reactor-producer-consumer.scala b/test/files/jvm/reactor-producer-consumer.scala
index 0d33043fc6..8a6b17c3ad 100644
--- a/test/files/jvm/reactor-producer-consumer.scala
+++ b/test/files/jvm/reactor-producer-consumer.scala
@@ -7,6 +7,7 @@ object Test {
class UnboundedBuffer extends Reactor[Any] {
def act() {
+ try {
react {
case Stop() =>
case Get(from) =>
@@ -17,11 +18,16 @@ object Test {
act()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
class Producer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor[Any]) extends Reactor[Any] {
def act() {
+ try {
var i = 0
while (i < n) {
i += 1
@@ -29,6 +35,10 @@ object Test {
buf ! Put(42)
}
parent ! Stop()
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -36,6 +46,7 @@ object Test {
val step = n / 10
var i = 0
def act() {
+ try {
if (i < n) {
i += 1
if (delay > 0) Thread.sleep(delay)
@@ -49,12 +60,17 @@ object Test {
} else {
parent ! Stop()
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
def main(args: Array[String]) {
val parent = new Reactor[Any] {
def act() {
+ try {
val buffer = new UnboundedBuffer
buffer.start()
val producer = new Producer(buffer, 10000, 0, this)
@@ -68,6 +84,10 @@ object Test {
buffer ! Stop()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
parent.start()
diff --git a/test/files/jvm/reactor.scala b/test/files/jvm/reactor.scala
index 12d5c7c221..dbc9a6bdda 100644
--- a/test/files/jvm/reactor.scala
+++ b/test/files/jvm/reactor.scala
@@ -21,6 +21,7 @@ object Test {
class PingActor(count: Int, pong: Reactor[Any]) extends Reactor[Any] {
def act() {
+ try {
var pingsLeft = count - 1
pong ! Ping(this)
loop {
@@ -38,11 +39,16 @@ class PingActor(count: Int, pong: Reactor[Any]) extends Reactor[Any] {
}
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
class PongActor extends Reactor[Any] {
def act() {
+ try {
var pongCount = 0
loop {
react {
@@ -56,5 +62,9 @@ class PongActor extends Reactor[Any] {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/replyablereactor.scala b/test/files/jvm/replyablereactor.scala
index 896a0bf440..e1fabc98da 100644
--- a/test/files/jvm/replyablereactor.scala
+++ b/test/files/jvm/replyablereactor.scala
@@ -2,6 +2,7 @@ import scala.actors.ReplyReactor
class MyActor extends ReplyReactor {
def act() {
+ try {
loop {
react {
case 'hello =>
@@ -10,6 +11,10 @@ class MyActor extends ReplyReactor {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -20,6 +25,7 @@ object Test {
val b = new ReplyReactor {
def act() {
+ try {
react {
case r: MyActor =>
var i = 0
@@ -37,6 +43,10 @@ object Test {
}
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
b.start()
diff --git a/test/files/jvm/replyablereactor2.scala b/test/files/jvm/replyablereactor2.scala
index 57b7cfe201..da9e0e269e 100644
--- a/test/files/jvm/replyablereactor2.scala
+++ b/test/files/jvm/replyablereactor2.scala
@@ -3,6 +3,7 @@ import scala.actors.Actor._
class MyActor extends ReplyReactor {
def act() {
+ try {
loop {
react {
case 'hello =>
@@ -11,6 +12,10 @@ class MyActor extends ReplyReactor {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -21,6 +26,7 @@ object Test {
val b = new Reactor[Any] {
def act() {
+ try {
react {
case r: MyActor =>
var i = 0
@@ -36,6 +42,10 @@ object Test {
}
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
b.start()
diff --git a/test/files/jvm/replyablereactor3.scala b/test/files/jvm/replyablereactor3.scala
index b33db811e2..2c26b8a176 100644
--- a/test/files/jvm/replyablereactor3.scala
+++ b/test/files/jvm/replyablereactor3.scala
@@ -3,6 +3,7 @@ import scala.actors.Actor._
class MyActor extends ReplyReactor {
def act() {
+ try {
loop {
react {
case 'hello =>
@@ -11,6 +12,10 @@ class MyActor extends ReplyReactor {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -21,6 +26,7 @@ object Test {
val b = new Reactor[Any] {
def act() {
+ try {
react {
case r: MyActor =>
var i = 0
@@ -35,6 +41,10 @@ object Test {
}
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
b.start()
diff --git a/test/files/jvm/replyablereactor4.scala b/test/files/jvm/replyablereactor4.scala
index dc24f5e88d..7679a5adf8 100644
--- a/test/files/jvm/replyablereactor4.scala
+++ b/test/files/jvm/replyablereactor4.scala
@@ -3,6 +3,7 @@ import scala.actors.Actor._
class MyActor extends ReplyReactor {
def act() {
+ try {
loop {
react {
case 'hello =>
@@ -11,6 +12,10 @@ class MyActor extends ReplyReactor {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
@@ -21,6 +26,7 @@ object Test {
val b = new Reactor[Any] {
def act() {
+ try {
react {
case r: MyActor =>
var i = 0
@@ -35,6 +41,10 @@ object Test {
}
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
b.start()
diff --git a/test/files/jvm/replyreactor-react-sender.scala b/test/files/jvm/replyreactor-react-sender.scala
index 1127dfd0a5..c9884295f6 100644
--- a/test/files/jvm/replyreactor-react-sender.scala
+++ b/test/files/jvm/replyreactor-react-sender.scala
@@ -10,6 +10,7 @@ object Test {
val a = new ReplyReactor {
def act() {
+ try {
var i = 0
loopWhile (i < NUM) {
i += 1
@@ -20,12 +21,17 @@ object Test {
} andThen {
b ! 'ok
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
a.start()
b = new ReplyReactor {
def act() {
+ try {
for (_ <- 0 until NUM)
a ! 'hello
react {
@@ -33,6 +39,10 @@ object Test {
case 'ok => println("OK")
case other => println(other)
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
b.start()
diff --git a/test/files/jvm/replyreactor.scala b/test/files/jvm/replyreactor.scala
index fb915cf3f9..0cecf29ec7 100644
--- a/test/files/jvm/replyreactor.scala
+++ b/test/files/jvm/replyreactor.scala
@@ -4,16 +4,22 @@ object Test {
def main(args: Array[String]) {
val a = new ReplyReactor {
def act() {
+ try {
react {
case 'hello =>
sender ! 'hello
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
a.start()
val b = new ReplyReactor {
def act() {
+ try {
react {
case r: ReplyReactor =>
r ! 'hello
@@ -22,6 +28,10 @@ object Test {
println(any)
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
b.start()
diff --git a/test/files/jvm/scheduler-adapter.scala b/test/files/jvm/scheduler-adapter.scala
index 79c901f91e..d6a8a446a0 100644
--- a/test/files/jvm/scheduler-adapter.scala
+++ b/test/files/jvm/scheduler-adapter.scala
@@ -7,22 +7,32 @@ trait AdaptedActor extends Actor {
object One extends AdaptedActor {
def act() {
+ try {
Two.start()
Two ! 'MsgForTwo
react {
case 'MsgForOne =>
println("One: received msg")
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
object Two extends AdaptedActor {
def act() {
+ try {
react {
case 'MsgForTwo =>
println("Two: received msg")
One ! 'MsgForOne
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/t1449.scala b/test/files/jvm/t1449.scala
index 08c153afc0..3822cf7dd5 100644
--- a/test/files/jvm/t1449.scala
+++ b/test/files/jvm/t1449.scala
@@ -4,12 +4,22 @@ import scala.actors.Futures._
object Test {
def main(args: Array[String]) {
val a = actor {
+ try {
react {
case ft: Future[a] =>
println(ft())
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
+ try {
val ft = future { 42 }
a ! ft
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/t1600.scala b/test/files/jvm/t1600.scala
index 1cdcee8547..79391b7e76 100644
--- a/test/files/jvm/t1600.scala
+++ b/test/files/jvm/t1600.scala
@@ -12,11 +12,11 @@ object Test {
def elements = entries.map(_._1)
val maps = Seq[Map[Foo, Int]](new mutable.HashMap, new mutable.LinkedHashMap,
- new immutable.HashMap).map(_ ++ entries)
+ immutable.HashMap.empty).map(_ ++ entries)
test[Map[Foo, Int]](maps, entries.size, assertMap _)
val sets = Seq[Set[Foo]](new mutable.HashSet, new mutable.LinkedHashSet,
- new immutable.HashSet).map(_ ++ elements)
+ immutable.HashSet.empty).map(_ ++ elements)
test[Set[Foo]](sets, entries.size, assertSet _)
}
}
@@ -31,7 +31,7 @@ object Test {
assertFunction(deserializedCollection, expectedSize)
assert(deserializedCollection.getClass == collection.getClass,
- "collection class should remain the same after deserialization")
+ "collection class should remain the same after deserialization ("+deserializedCollection.getClass+" != "+collection.getClass+")")
Foo.hashCodeModifier = 0
}
}
diff --git a/test/files/jvm/t1948.scala b/test/files/jvm/t1948.scala
index fc1fedac1f..084c956398 100644
--- a/test/files/jvm/t1948.scala
+++ b/test/files/jvm/t1948.scala
@@ -4,9 +4,21 @@ import scala.actors.Actor._
object Test {
def main (args: Array[String]) {
- val actors = (1 to 1000).toList map { x => actor { loop { react {
- case x: Array[Int] => reply ("OK"); exit }}}}
+ val actors = (1 to 1000).toList map { x => actor {
+ try {
+ loop { react {
+ case x: Array[Int] => reply ("OK"); exit }}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
+ } }
+ try {
actors foreach { x => x !? new Array[Int] (1000000) }
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
diff --git a/test/files/jvm/t2359.scala b/test/files/jvm/t2359.scala
index 1b4d5e0a27..69c69d7b3b 100644
--- a/test/files/jvm/t2359.scala
+++ b/test/files/jvm/t2359.scala
@@ -3,19 +3,44 @@ import scala.actors.Futures._
object Test {
def main(args: Array[String]) {
val x = future {
+ try {
System.out.println(1)
future {
+ try {
System.out.println(2)
future {
+ try {
System.out.println(3)
future {
+ try {
System.out.println(4)
future {
+ try {
System.out.println(5)
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}()
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}()
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}()
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}()
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}()
}
}
diff --git a/test/files/jvm/t2530.scala b/test/files/jvm/t2530.scala
index 642fb05a5d..c2925a92d1 100644
--- a/test/files/jvm/t2530.scala
+++ b/test/files/jvm/t2530.scala
@@ -50,6 +50,7 @@ case class Matrix(numRows: Int, numCols: Int, values: Array[Double]) {
val rows = for (j <- 0 until m) yield {
Futures.future {
+ try {
val b_j = new Array[Double](n)
var k = 0
while (k < n) { // sadly, while loops are still faster than for loops
@@ -69,13 +70,22 @@ case class Matrix(numRows: Int, numCols: Int, values: Array[Double]) {
}
//printf("future %d of %d completed.%n", j, m)
j
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
// rows.foreach { x=> x() } // This appears to force sequential execution, so use:
// timeout is 10 years; see http://lampsvn.epfl.ch/trac/scala/ticket/2515
-
- val done = Futures.awaitAll(10*365*24*60*60*1000, rows.toArray : _*) // list to array, as varargs.
+ val done: List[Option[Any]] = try {
+ Futures.awaitAll(10*365*24*60*60*1000, rows.toArray : _*) // list to array, as varargs.
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ List()
+ }
if (done.contains(None))
None
diff --git a/test/files/jvm/t3102.scala b/test/files/jvm/t3102.scala
index ea3e720eca..fbcf2e60e6 100644
--- a/test/files/jvm/t3102.scala
+++ b/test/files/jvm/t3102.scala
@@ -4,13 +4,19 @@ import Actor._
object Test {
def main(args: Array[String]) {
val a = actor {
+ try {
react {
case 'hello =>
reply(42)
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
val b = actor {
+ try {
self.trapExit = true
val ft = a !! 'hello
println(ft())
@@ -21,6 +27,10 @@ object Test {
case any =>
println(any)
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
}
diff --git a/test/disabled/run/Course-2002-10-msil.check b/test/files/run/Course-2002-10-msil.check
index bbd9414370..bbd9414370 100644
--- a/test/disabled/run/Course-2002-10-msil.check
+++ b/test/files/run/Course-2002-10-msil.check
diff --git a/test/disabled/run/Course-2002-10.check b/test/files/run/Course-2002-10.check
index 207b671f05..207b671f05 100644
--- a/test/disabled/run/Course-2002-10.check
+++ b/test/files/run/Course-2002-10.check
diff --git a/test/disabled/run/Course-2002-10.scala b/test/files/run/Course-2002-10.scala
index e978bc8258..e978bc8258 100644
--- a/test/disabled/run/Course-2002-10.scala
+++ b/test/files/run/Course-2002-10.scala
diff --git a/test/disabled/run/Course-2002-13.check b/test/files/run/Course-2002-13.check
index 7664f70576..7664f70576 100644
--- a/test/disabled/run/Course-2002-13.check
+++ b/test/files/run/Course-2002-13.check
diff --git a/test/disabled/run/Course-2002-13.scala b/test/files/run/Course-2002-13.scala
index c016d41a90..c016d41a90 100644
--- a/test/disabled/run/Course-2002-13.scala
+++ b/test/files/run/Course-2002-13.scala
diff --git a/test/files/run/json.scala b/test/files/run/json.scala.disabled
index ec0bad7ebe..2e7ee4aa4d 100644
--- a/test/files/run/json.scala
+++ b/test/files/run/json.scala.disabled
@@ -8,7 +8,7 @@ object Test extends Application {
printJSON("{\"name\": \"va1ue\"}") // ticket #136
printJSON("{\"name\": { \"name1\": \"va1ue1\", \"name2\": \"va1ue2\" } }")
printJSON("{\"name\": \"\\u0022\"}")
- printJSON("{\"age\": 0}")
+ printJSON("{\"age\": 0}")
println
// from http://en.wikipedia.org/wiki/JSON
@@ -63,7 +63,7 @@ object Test extends Application {
// from http://json.org/example.html
val sample3 = """
{"web-app": {
- "servlet": [
+ "servlet": [
{
"servlet-name": "cofaxCDS",
"servlet-class": "org.cofax.cds.CDSServlet",
@@ -119,7 +119,7 @@ object Test extends Application {
{
"servlet-name": "cofaxAdmin",
"servlet-class": "org.cofax.cds.AdminServlet"},
-
+
{
"servlet-name": "fileServlet",
"servlet-class": "org.cofax.cds.FileServlet"},
@@ -146,7 +146,7 @@ object Test extends Application {
"cofaxAdmin": "/admin/*",
"fileServlet": "/static/*",
"cofaxTools": "/tools/*"},
-
+
"taglib": {
"taglib-uri": "cofax.tld",
"taglib-location": "/WEB-INF/tlds/cofax.tld"}
diff --git a/test/files/run/numbereq.scala b/test/files/run/numbereq.scala
new file mode 100644
index 0000000000..52f32cc52a
--- /dev/null
+++ b/test/files/run/numbereq.scala
@@ -0,0 +1,41 @@
+object Test {
+ def mkNumbers(x: Int): List[AnyRef] = {
+ val base = List(
+ BigDecimal(x),
+ BigInt(x),
+ new java.lang.Double(x.toDouble),
+ new java.lang.Float(x.toFloat),
+ new java.lang.Long(x.toLong),
+ new java.lang.Integer(x)
+ )
+ val extras = List(
+ if (x >= Short.MinValue && x <= Short.MaxValue) List(new java.lang.Short(x.toShort)) else Nil,
+ if (x >= Byte.MinValue && x <= Byte.MaxValue) List(new java.lang.Byte(x.toByte)) else Nil,
+ if (x >= Char.MinValue && x <= Char.MaxValue) List(new java.lang.Character(x.toChar)) else Nil
+ ).flatten
+
+ base ::: extras
+ }
+
+
+ def main(args: Array[String]): Unit = {
+ val ints = (0 to 15).toList map (Short.MinValue >> _)
+ val ints2 = ints map (x => -x)
+ val ints3 = ints map (_ + 1)
+ val ints4 = ints2 map (_ - 1)
+
+ val setneg1 = ints map mkNumbers
+ val setneg2 = ints3 map mkNumbers
+ val setpos1 = ints2 map mkNumbers
+ val setpos2 = ints4 map mkNumbers
+ val zero = mkNumbers(0)
+
+ val sets = setneg1 ++ setneg2 ++ List(zero) ++ setpos1 ++ setpos2
+
+ for (set <- sets ; x <- set ; y <- set) {
+ println("'%s' == '%s' (%s == %s) (%s == %s)".format(x, y, x.hashCode, y.hashCode, x.##, y.##))
+ assert(x == y, "%s/%s != %s/%s".format(x, x.getClass, y, y.getClass))
+ assert(x.## == y.##, "%s != %s".format(x.getClass, y.getClass))
+ }
+ }
+} \ No newline at end of file
diff --git a/test/disabled/run/streamWithFilter.check b/test/files/run/streamWithFilter.check
index 6b0e91a147..6b0e91a147 100644
--- a/test/disabled/run/streamWithFilter.check
+++ b/test/files/run/streamWithFilter.check
diff --git a/test/disabled/run/streamWithFilter.scala b/test/files/run/streamWithFilter.scala
index cb919d4f55..cb919d4f55 100644
--- a/test/disabled/run/streamWithFilter.scala
+++ b/test/files/run/streamWithFilter.scala
diff --git a/test/files/run/t3241.check b/test/files/run/t3241.check
new file mode 100644
index 0000000000..348ebd9491
--- /dev/null
+++ b/test/files/run/t3241.check
@@ -0,0 +1 @@
+done \ No newline at end of file
diff --git a/test/files/run/t3241.scala b/test/files/run/t3241.scala
new file mode 100644
index 0000000000..40097a046f
--- /dev/null
+++ b/test/files/run/t3241.scala
@@ -0,0 +1,23 @@
+object Test {
+
+ def main(args : Array[String]) : Unit = {
+ recurse(Map(1->1, 2->2, 3->3, 4->4, 5->5, 6->6, 7->7))
+ recurse(Set(1,2,3,4,5,6,7))
+ println("done")
+ }
+
+ def recurse(map: collection.immutable.Map[Int, Int]): Unit = {
+ if (!map.isEmpty) {
+ val x = map.keys.head
+ recurse(map - x)
+ }
+ }
+
+ def recurse(set: collection.immutable.Set[Int]): Unit = {
+ if (!set.isEmpty) {
+ val x = set.toStream.head
+ recurse(set - x)
+ }
+ }
+
+}
diff --git a/test/files/scalacheck/redblack.scala b/test/files/scalacheck/redblack.scala
new file mode 100644
index 0000000000..0334c1218d
--- /dev/null
+++ b/test/files/scalacheck/redblack.scala
@@ -0,0 +1,157 @@
+import org.scalacheck._
+import Prop._
+import Gen._
+
+/*
+Properties of a Red & Black Tree:
+
+A node is either red or black.
+The root is black. (This rule is used in some definitions and not others. Since the
+root can always be changed from red to black but not necessarily vice-versa this
+rule has little effect on analysis.)
+All leaves are black.
+Both children of every red node are black.
+Every simple path from a given node to any of its descendant leaves contains the same number of black nodes.
+*/
+
+abstract class RedBlackTest extends Properties("RedBlack") {
+ object RedBlackTest extends scala.collection.immutable.RedBlack[Int] {
+ def isSmaller(x: Int, y: Int) = x < y
+ }
+
+ import RedBlackTest._
+
+ def rootIsBlack[A](t: Tree[A]) = t.isBlack
+
+ def areAllLeavesBlack[A](t: Tree[A]): Boolean = t match {
+ case Empty => t.isBlack
+ case ne: NonEmpty[_] => List(ne.left, ne.right) forall areAllLeavesBlack
+ }
+
+ def areRedNodeChildrenBlack[A](t: Tree[A]): Boolean = t match {
+ case RedTree(_, _, left, right) => List(left, right) forall (t => t.isBlack && areRedNodeChildrenBlack(t))
+ case BlackTree(_, _, left, right) => List(left, right) forall areRedNodeChildrenBlack
+ case Empty => true
+ }
+
+ def blackNodesToLeaves[A](t: Tree[A]): List[Int] = t match {
+ case Empty => List(1)
+ case BlackTree(_, _, left, right) => List(left, right) flatMap blackNodesToLeaves map (_ + 1)
+ case RedTree(_, _, left, right) => List(left, right) flatMap blackNodesToLeaves
+ }
+
+ def areBlackNodesToLeavesEqual[A](t: Tree[A]): Boolean = t match {
+ case Empty => true
+ case ne: NonEmpty[_] =>
+ (
+ blackNodesToLeaves(ne).removeDuplicates.size == 1
+ && areBlackNodesToLeavesEqual(ne.left)
+ && areBlackNodesToLeavesEqual(ne.right)
+ )
+ }
+
+ def orderIsPreserved[A](t: Tree[A]): Boolean = t match {
+ case Empty => true
+ case ne: NonEmpty[_] =>
+ (
+ (ne.left.iterator map (_._1) forall (isSmaller(_, ne.key)))
+ && (ne.right.iterator map (_._1) forall (isSmaller(ne.key, _)))
+ && (List(ne.left, ne.right) forall orderIsPreserved)
+ )
+ }
+
+ def setup(l: List[Int], invariant: Tree[Unit] => Boolean): (Boolean, Tree[Unit])
+
+ def listNoRepetitions(size: Int) = for {
+ s <- Gen.choose(1, size)
+ l <- Gen.listOfN(size, Gen.choose(0, Int.MaxValue)) suchThat (l => l.size == l.removeDuplicates.size)
+ } yield l
+ def listFewRepetitions(size: Int) = for {
+ s <- Gen.choose(1, size)
+ l <- Gen.listOfN(s, Gen.choose(0, size * 4)) suchThat (l => l.size != l.removeDuplicates.size)
+ } yield l
+ def listManyRepetitions(size: Int) = for {
+ s <- Gen.choose(1, size)
+ l <- Gen.listOfN(s, Gen.choose(0, size)) suchThat (l => l.size != l.removeDuplicates.size)
+ } yield l
+ def listEvenRepetitions(size: Int) = listFewRepetitions(size) map (x =>
+ scala.util.Random.shuffle(x zip x flatMap { case (a, b) => List(a, b) })
+ )
+
+ // Arbitrarily weighted list distribution types
+ val seqType: Gen[Int => Gen[List[Int]]]
+
+ def myGen(sized: Int) = for {
+ size <- Gen.choose(0, sized)
+ seq <- seqType
+ list <- seq(size)
+ } yield list
+
+ property("root is black") = forAll(myGen(10)) { l =>
+ setup(l, rootIsBlack)._1 :| setup(l, rootIsBlack)._2.toString
+ }
+ property("all leaves are black") = forAll(myGen(50)) { l =>
+ setup(l, areAllLeavesBlack)._1 :| setup(l, areAllLeavesBlack)._2.toString
+ }
+ property("children of red nodes are black") = forAll(myGen(50)) { l =>
+ setup(l, areRedNodeChildrenBlack)._1 :| setup(l, areRedNodeChildrenBlack)._2.toString
+ }
+ property("Every path from a node to its descendant leaves contains the same number of black nodes") = forAll(myGen(50)) { l =>
+ setup(l, areBlackNodesToLeavesEqual)._1 :| setup(l, areBlackNodesToLeavesEqual)._2.toString
+ }
+ property("Ordering of keys is preserved") = forAll(myGen(50)) { l =>
+ setup(l, orderIsPreserved)._1 :| setup(l, orderIsPreserved)._2.toString
+ }
+}
+
+object TestInsertion extends RedBlackTest {
+ import RedBlackTest._
+ override val seqType = Gen.frequency(
+ (1, listNoRepetitions _),
+ (1, listManyRepetitions _)
+ )
+
+ property("update adds elements") = forAll(myGen(50)) { l =>
+ val tree = l.foldLeft(Empty: Tree[Unit])((acc, n) => acc update (n, ()))
+ forAll(Gen.pick(1, l)) ( n => !(tree lookup n.head isEmpty) :| "Tree: "+tree+" N: "+n.head )
+ }
+
+ override def setup(l: List[Int], invariant: Tree[Unit] => Boolean) = l.foldLeft((true, Empty: Tree[Unit])) {
+ case ((true, acc), n) =>
+ val newRoot = acc update (n, ())
+ (invariant(newRoot), newRoot)
+ case (failed, _) => failed
+ }
+}
+
+object TestDeletion extends RedBlackTest {
+ import RedBlackTest._
+ override val seqType = Gen.frequency(
+ (2, listFewRepetitions _),
+ (3, listManyRepetitions _),
+ (1, listEvenRepetitions _)
+ )
+
+ property("delete removes elements") = forAll(myGen(50)) { l =>
+ val tree = l.foldLeft(Empty: Tree[Unit])((acc, n) => acc update (n, ()))
+ forAll(Gen.choose(1, l.size)) { numberOfElementsToRemove =>
+ forAll(Gen.pick(numberOfElementsToRemove, l)) { elementsToRemove =>
+ val newTree = elementsToRemove.foldLeft(tree)((acc, n) => acc delete n)
+ (elementsToRemove forall (n => newTree lookup n isEmpty)) :| "Tree: "+tree+"New Tree: "+newTree+" Elements to Remove: "+elementsToRemove
+ }
+ }
+ }
+
+ override def setup(l: List[Int], invariant: Tree[Unit] => Boolean) = l.foldLeft((true, Empty: Tree[Unit])) {
+ case ((true, acc), n) =>
+ val newRoot = if (acc lookup n isEmpty) acc update (n, ()) else acc delete n
+ (invariant(newRoot), newRoot)
+ case (failed, _) => failed
+ }
+}
+
+object Test extends Properties("RedBlack") {
+ include(TestInsertion)
+ include(TestDeletion)
+}
+
diff --git a/test/partest-tests/jvm/actor-receivewithin.check b/test/partest-tests/jvm/actor-receivewithin.check
new file mode 100644
index 0000000000..a6a3e88c61
--- /dev/null
+++ b/test/partest-tests/jvm/actor-receivewithin.check
@@ -0,0 +1,16 @@
+'msg
+'msg
+'msg
+'msg
+'msg
+TIMEOUT
+TIMEOUT
+TIMEOUT
+TIMEOUT
+TIMEOUT
+'msg2
+'msg2
+'msg2
+'msg2
+'msg2
+TIMEOUT
diff --git a/test/partest-tests/jvm/actor-receivewithin.scala b/test/partest-tests/jvm/actor-receivewithin.scala
new file mode 100644
index 0000000000..a5c87c2722
--- /dev/null
+++ b/test/partest-tests/jvm/actor-receivewithin.scala
@@ -0,0 +1,69 @@
+import scala.actors.{Actor, TIMEOUT}
+
+object A extends Actor {
+ def act() {
+ receive {
+ case 'done =>
+ var cnt = 0
+ while (cnt < 500) {
+ cnt += 1
+ receiveWithin (0) {
+ case 'msg =>
+ if (cnt % 100 == 0)
+ println("'msg")
+ case TIMEOUT =>
+ // should not happen
+ println("FAIL1")
+ }
+ }
+ cnt = 0
+ while (cnt < 500) {
+ cnt += 1
+ receiveWithin (0) {
+ case 'msg =>
+ // should not happen
+ println("FAIL2")
+ case TIMEOUT =>
+ if (cnt % 100 == 0)
+ println("TIMEOUT")
+ }
+ }
+ B ! 'next
+ receive { case 'done => }
+ cnt = 0
+ while (cnt < 501) {
+ cnt += 1
+ receiveWithin (500) {
+ case 'msg2 =>
+ if (cnt % 100 == 0)
+ println("'msg2")
+ case TIMEOUT =>
+ println("TIMEOUT")
+ }
+ }
+ }
+ }
+}
+
+object B extends Actor {
+ def act() {
+ A.start()
+ for (_ <- 1 to 500) {
+ A ! 'msg
+ }
+ A ! 'done
+ receive {
+ case 'next =>
+ for (_ <- 1 to 500) {
+ A ! 'msg2
+ }
+ A ! 'done
+ }
+ }
+}
+
+object Test {
+ def main(args:Array[String]) {
+ B.start()
+ }
+}
diff --git a/test/partest-tests/run/crash.scala b/test/partest-tests/run/crash.scala
new file mode 100644
index 0000000000..1735cc444e
--- /dev/null
+++ b/test/partest-tests/run/crash.scala
@@ -0,0 +1,6 @@
+object Test {
+ def main(args: Array[String]): Unit = {
+ val t = new Throwable("DOOM")
+ throw t
+ }
+}
diff --git a/test/partest-tests/run/streamWithFilter.check b/test/partest-tests/run/streamWithFilter.check
new file mode 100644
index 0000000000..6b0e91a147
--- /dev/null
+++ b/test/partest-tests/run/streamWithFilter.check
@@ -0,0 +1,5 @@
+15
+30
+45
+60
+75
diff --git a/test/partest-tests/run/streamWithFilter.scala b/test/partest-tests/run/streamWithFilter.scala
new file mode 100644
index 0000000000..cb919d4f55
--- /dev/null
+++ b/test/partest-tests/run/streamWithFilter.scala
@@ -0,0 +1,11 @@
+object Test {
+ val nums = Stream.from(1)
+ def isFizz(x: Int) = x % 3 == 0
+ def isBuzz(x: Int) = x % 5 == 0
+ // next line will run forever if withFilter isn't doing its thing.
+ val fizzbuzzes = for (n <- nums ; if isFizz(n) ; if isBuzz(n)) yield n
+
+ def main(args: Array[String]): Unit = {
+ fizzbuzzes take 5 foreach println
+ }
+}
diff --git a/test/partest-tests/run/timeout.scala b/test/partest-tests/run/timeout.scala
new file mode 100644
index 0000000000..91417b39ab
--- /dev/null
+++ b/test/partest-tests/run/timeout.scala
@@ -0,0 +1,5 @@
+object Test {
+ def main(args: Array[String]): Unit = {
+ Thread.sleep(10000000)
+ }
+}