diff options
Diffstat (limited to 'lib/cosEvent/doc/src')
29 files changed, 6445 insertions, 0 deletions
diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin.xml new file mode 100644 index 0000000000..25f2dc805b --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin</title> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin.xml</file> + </header> + <module>CosEventChannelAdmin</module> + <modulesummary>The CosEventChannelAdmin defines a set if event service interfaces that enables decoupled asynchronous communication between objects and implements generic (untyped) version of the OMG COSS standard event service.</modulesummary> + <description> + <p>The event service defines two roles for objects: the supplier role and + the consumer role. Suppliers supply event data to the event channel and + consumers receive event data from the channel. Suppliers do not need to + know the identity of the consumers, and vice versa. Consumers and + suppliers are connected to the event channel via proxies, which are managed + by ConsumerAdmin and SupplierAdmin objects.</p> + <p>There are four general models of communication. These are: </p> + <list type="bulleted"> + <item>The canonical push model. It allows the suppliers of events to initiate the + transfer of event data to consumers. Event channels play the role of + <c><![CDATA[Notifier]]></c>. Active suppliers use event channel to push data to + passive consumers registered with the event channel.</item> + <item>The canonical pull model. It allows consumers to request events from + suppliers. Event channels play the role of <c><![CDATA[Procure]]></c> since they + procure events on behalf of consumers. Active consumers can explicitly + pull data from passive suppliers via the event channels.</item> + <item>The hybrid push/pull model. It allows consumers request events queued at + a channel by suppliers. Event channels play the role of <c><![CDATA[Queue]]></c>. + Active consumers explicitly pull data deposited by active suppliers via + the event channels.</item> + <item>The hybrid pull/push model. It allows the channel to pull events from + suppliers and push them to consumers. Event channels play the role of + <c><![CDATA[Intelligent agent]]></c>. Active event channels can pull data from + passive suppliers to push it to passive consumers.</item> + </list> + <p>To get access to all definitions, e.g., exceptions, + include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + <p>There are seven different interfaces supported in the service:</p> + <list type="bulleted"> + <item>ProxyPushConsumer</item> + <item>ProxyPullSupplier</item> + <item>ProxyPullConsumer</item> + <item>ProxyPushSupplier</item> + <item>ConsumerAdmin</item> + <item>SupplierAdmin</item> + <item>EventChannel</item> + </list> + <p>IDL specification for CosEventChannelAdmin:</p> + <codeinclude file="../../src/CosEventChannelAdmin.idl" tag="" type="c"></codeinclude> + </description> + +</erlref> + diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin_ConsumerAdmin.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin_ConsumerAdmin.xml new file mode 100644 index 0000000000..e579d6f6f4 --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin_ConsumerAdmin.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin_­ConsumerAdmin</title> + <shorttitle>..._ConsumerAdmin</shorttitle> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin_ConsumerAdmin.xml</file> + </header> + <module>CosEventChannelAdmin_ConsumerAdmin</module> + <modulesummary>This module implements a ConsumerAdmin interface, which allows consumers to be connected to the event channel.</modulesummary> + <description> + <p>The ConsumerAdmin interface defines the first step for connecting consumers + to the event channel. It acts as a factory for creating proxy suppliers. + Both consumer administration and supplier administration are defined as separate + objects so that the creator of the channel can control the addition of + suppliers and consumers. </p> + <p>To get access to all definitions include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + </description> + <funcs> + <func> + <name>obtain_push_supplier(Object) -> Return</name> + <fsummary>Create a ProxyPushSupplier object</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = #objref</v> + </type> + <desc> + <p>This operation returns a ProxyPushSupplier object reference.</p> + </desc> + </func> + <func> + <name>obtain_pull_supplier(Object) -> Return</name> + <fsummary>Create a ProxyPullSupplier object</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = #objref</v> + </type> + <desc> + <p>This operation returns a ProxyPullSupplier object reference.</p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin_EventChannel.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin_EventChannel.xml new file mode 100644 index 0000000000..809bf89762 --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin_EventChannel.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin_­EventChannel</title> + <shorttitle>..._EventChannel</shorttitle> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin_EventChannel.xml</file> + </header> + <module>CosEventChannelAdmin_EventChannel</module> + <modulesummary>This module implements an Event Channel interface, which plays the role of a mediator between consumers and suppliers.</modulesummary> + <description> + <p>An event channel is an object that allows multiple suppliers to communicate + with multiple consumers in a highly decoupled, asynchronous manner. The event + channel is built up incrementally. When an event channel is + created no suppliers or consumers are connected to it. Event Channel can + implement group communication by serving as a replicator, broadcaster, or + multicaster that forward events from one or more suppliers to multiple + consumers.</p> + <p>It is up to the user to decide when an event channel is created and how + references to the event channel are obtained. By representing the event + channel as an object, it has all of the properties that apply to objects. + One way to manage an event channel is to register it in a naming context, + or export it through an operation on an object.</p> + <p>To get access to all definitions include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + <p>Any object that possesses an object reference that supports the ProxyPullConsumer + interface can perform the following operations:</p> + </description> + <funcs> + <func> + <name>for_consumers(Object) -> Return</name> + <fsummary>Return a ConsumerAdmin object</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = #objref</v> + </type> + <desc> + <p>This operation returns a ConsumerAdmin object reference. If ConsumerAdmin + object does not exist already it creates one.</p> + </desc> + </func> + <func> + <name>for_suppliers(Object) -> Return</name> + <fsummary>Return a SupplierAdmin object</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = #objref</v> + </type> + <desc> + <p>This operation returns a SupplierAdmin object reference. If SupplierAdmin + object does not exist already it creates one.</p> + </desc> + </func> + <func> + <name>destroy(Object) -> Return</name> + <fsummary>Destroy the event channel</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = #objref</v> + </type> + <desc> + <p></p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPullConsumer.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPullConsumer.xml new file mode 100644 index 0000000000..811c8615b9 --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPullConsumer.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin_­ProxyPullConsumer</title> + <shorttitle>..._ProxyPullConsumer</shorttitle> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin_ProxyPullConsumer.xml</file> + </header> + <module>CosEventChannelAdmin_ProxyPullConsumer</module> + <modulesummary>This module implements a ProxyPullConsumer interface which acts as a middleman between pull supplier and the event channel.</modulesummary> + <description> + <p>The ProxyPullConsumer interface defines the second step for connecting pull + suppliers to the event channel. A proxy consumer is similar to a normal consumer, + but includes an additional method for connecting a supplier to the proxy + consumer.</p> + <p>To get access to all definitions, e.g., exceptions, + include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + <p>Any object that possesses an object reference that supports the ProxyPullConsumer + interface can perform the following operations:</p> + </description> + <funcs> + <func> + <name>connect_pull_supplier(Object, PullSupplier) -> Return</name> + <fsummary>Connect the pull supplier to the proxy pull consumer</fsummary> + <type> + <v>Object = #objref</v> + <v>PullSupplier = #objref of PullSupplier type</v> + <v>Return = ok | {'EXCEPTION', E}</v> + <v>E = #'CosEventChannelAdmin_AlreadyConnected'{} | #'CosEventChannelAdmin_TypeError'{}</v> + </type> + <desc> + <p>This operation connects PullSupplier object to the ProxyPullConsumer object. + If a nil object reference is passed CORBA standard <c><![CDATA[BAD_PARAM]]></c> exception + is raised. If the ProxyPullConsumer is already connected to a PullSupplier, + then the <c><![CDATA[CosEventChannelAdmin_AlreadyConnected]]></c> exception is raised. + Implementations of ProxyPullConsumers may require additional interface + functionality; if these requirements are not met the + <c><![CDATA[CosEventChannelAdmin_TypeError]]></c> exception will be raised.</p> + </desc> + </func> + <func> + <name>disconnect_pull_consumer(Object) -> Return</name> + <fsummary>Disconnect the ProxyPullConsumer object from the event channel.</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = ok</v> + </type> + <desc> + <p>This operation disconnects proxy pull consumer from the event channel and + sends a notification about the loss of the connection to the pull supplier + attached to it.</p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPullSupplier.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPullSupplier.xml new file mode 100644 index 0000000000..6c22c5ed39 --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPullSupplier.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin_­ProxyPullSupplier</title> + <shorttitle>..._ProxyPullSupplier</shorttitle> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved>Lars Thors</approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin_ProxyPullSupplier.xml</file> + </header> + <module>CosEventChannelAdmin_ProxyPullSupplier</module> + <modulesummary>This module implements a ProxyPullSupplier interface which acts as a middleman between pull consumer and the event channel.</modulesummary> + <description> + <p>The ProxyPullSupplier interface defines the second step for connecting pull consumers to the event channel. A proxy supplier is similar to a normal supplier, + but includes an additional method for connecting a consumer to the proxy + supplier.</p> + <p>To get access to all definitions, e.g., exceptions, + include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + <p>Any object that possesses an object reference that supports the ProxyPullSupplier + interface can perform the following operations:</p> + </description> + <funcs> + <func> + <name>connect_pull_consumer(Object, PullConsumer) -> Return</name> + <fsummary>Connect the pull consumer to the proxy pull supplier</fsummary> + <type> + <v>Object = #objref</v> + <v>PullConsumer = #objref of PullConsumer type</v> + <v>Return = ok | {'EXCEPTION', #'CosEventChannelAdmin_AlreadyConnected'{}}</v> + </type> + <desc> + <p>This operation connects PullConsumer object to the ProxyPullSupplier object. + A nil object reference can be passed to this operation. If so a channel + cannot invoke the disconnect_pull_consumer operation on the consumer; + the consumer may be disconnected from the channel without being + informed. If the ProxyPullSupplier is already connected to a + PullConsumer, then the <c><![CDATA[CosEventChannelAdmin_AlreadyConnected]]></c> + exception is raised.</p> + </desc> + </func> + <func> + <name>disconnect_pull_supplier(Object) -> Return</name> + <fsummary>Disconnect the ProxyPullSupplier object from the event channel.</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = ok</v> + </type> + <desc> + <p>This operation disconnects proxy pull supplier from the event channel. + It sends a notification about the loss of the connection to the pull consumer + attached to it, unless nil object reference was passed at the connection + time.</p> + </desc> + </func> + <func> + <name>pull(Object) -> Return</name> + <fsummary>Transmit data from suppliers to consumers.</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = any</v> + </type> + <desc> + <p>This operation blocks until the event data is available or the + <c><![CDATA[CosEventComm_Disconnected]]></c> exception is raised. + It returns the event data to the consumer.</p> + </desc> + </func> + <func> + <name>try_pull(Object) -> Return</name> + <fsummary>Transmit data from suppliers to consumers.</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = {any, bool()}</v> + </type> + <desc> + <p>This operation does not block: if the event data is available, it returns + the event data and sets the data availability flag to true; otherwise + it returns a long with an undefined value and sets the data availability to + false. If the event communication has already been disconnected, the + <c><![CDATA[CosEventComm_Disconnected]]></c> exception is raised.</p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPushConsumer.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPushConsumer.xml new file mode 100644 index 0000000000..2b50f8858a --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPushConsumer.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin_­ProxyPushConsumer</title> + <shorttitle>..._ProxyPushConsumer</shorttitle> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin_ProxyPushConsumer.xml</file> + </header> + <module>CosEventChannelAdmin_ProxyPushConsumer</module> + <modulesummary>This module implements a ProxyPushConsumer interface which acts as a middleman between push supplier and the event channel.</modulesummary> + <description> + <p>The ProxyPushConsumer interface defines the second step for connecting push + suppliers to the event channel. A proxy consumer is similar to a normal consumer, + but includes an additional method for connecting a supplier to the proxy + consumer.</p> + <p>To get access to all definitions, e.g., exceptions, + include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + <p>Any object that possesses an object reference that supports the ProxyPushConsumer + interface can perform the following operations:</p> + </description> + <funcs> + <func> + <name>connect_push_supplier(Object, PushSupplier) -> Return</name> + <fsummary>Connect the push supplier to the proxy push consumer</fsummary> + <type> + <v>Object = #objref</v> + <v>PushSupplier = #objref of PushSupplier type</v> + <v>Return = ok | {'EXCEPTION', #'CosEventChannelAdmin_AlreadyConnected'{}}</v> + </type> + <desc> + <p>This operation connects PushSupplier object to the ProxyPushConsumer object. + A nil object reference can be passed to this operation. If so a channel + cannot invoke the disconnect_push_supplier operation on the supplier; + the supplier may be disconnected from the channel without being + informed. If the ProxyPushConsumer is already connected to a + PushSupplier, then the <c><![CDATA[CosEventChannelAdmin_AlreadyConnected]]></c> + exception is raised.</p> + </desc> + </func> + <func> + <name>disconnect_push_consumer(Object) -> Return</name> + <fsummary>Disconnect the ProxyPushConsumer object from the event channel.</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = ok</v> + </type> + <desc> + <p>This operation disconnects proxy push consumer from the event channel. + Sends a notification about the loss of the connection to the push supplier + attached to it, unless nil object reference was passed at the connection + time.</p> + </desc> + </func> + <func> + <name>push(Object, Data) -> Return</name> + <fsummary>Communicate event data to the consumers.</fsummary> + <type> + <v>Object = #objref</v> + <v>Data = any</v> + <v>Return = ok | {'EXCEPTION', #'CosEventComm_Disconnected'{}}</v> + </type> + <desc> + <p>This operation sends event data to all connected consumers via the + event channel. If the event communication has already been disconnected, + the <c><![CDATA[CosEventComm_Disconnected]]></c> is raised.</p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPushSupplier.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPushSupplier.xml new file mode 100644 index 0000000000..cda162f4cd --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPushSupplier.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin_­ProxyPushSupplier</title> + <shorttitle>..._ProxyPushSupplier</shorttitle> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin_ProxyPushSupplier.xml</file> + </header> + <module>CosEventChannelAdmin_ProxyPushSupplier</module> + <modulesummary>This module implements a ProxyPushSupplier interface which acts as a middleman between push consumer and the event channel.</modulesummary> + <description> + <p>The ProxyPushSupplier interface defines the second step for connecting push + consumers to the event channel. A proxy supplier is similar to a normal supplier, + but includes an additional method for connecting a consumer to the proxy + supplier.</p> + <p>To get access to all definitions, e.g., exceptions, + include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + <p>Any object that possesses an object reference that supports the ProxyPushSupplier + interface can perform the following operations:</p> + </description> + <funcs> + <func> + <name>connect_push_consumer(Object, PushConsumer) -> Return</name> + <fsummary>Connect the push consumer to the proxy push supplier</fsummary> + <type> + <v>Object = #objref</v> + <v>PushConsumer = #objref of PushConsumer type</v> + <v>Return = ok | {'EXCEPTION', E}</v> + <v>E = #'CosEventChannelAdmin_AlreadyConnected'{} | #'CosEventChannelAdmin_TypeError'{}</v> + </type> + <desc> + <p>This operation connects PushConsumer object to the ProxyPushSupplier object. + If a nil object reference is passed CORBA standard <c><![CDATA[BAD_PARAM]]></c> exception + is raised. If the ProxyPushSupplier is already connected to a PushConsumer, + then the <c><![CDATA[CosEventChannelAdmin_AlreadyConnected]]></c> exception is raised. + Implementations of ProxyPushSuppliers may require additional interface + functionality; if these requirements are not met the + <c><![CDATA[CosEventChannelAdmin_TypeError]]></c> exception will be raised.</p> + </desc> + </func> + <func> + <name>disconnect_push_supplier(Object) -> Return</name> + <fsummary>Disconnect the ProxyPushSupplier object from the event channel.</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = ok</v> + </type> + <desc> + <p>This operation disconnects proxy push supplier from the event channel and + sends a notification about the loss of the connection to the push consumer + attached to it.</p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin_SupplierAdmin.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin_SupplierAdmin.xml new file mode 100644 index 0000000000..abcd7b6c1f --- /dev/null +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin_SupplierAdmin.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1997</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>CosEventChannelAdmin_­SupplierAdmin</title> + <shorttitle>..._SupplierAdmin</shorttitle> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>1997-11-13</date> + <rev>PA1</rev> + <file>CosEventChannelAdmin_SupplierAdmin.xml</file> + </header> + <module>CosEventChannelAdmin_SupplierAdmin</module> + <modulesummary>This module implements a SupplierAdmin interface, which allows suppliers to be connected to the event channel.</modulesummary> + <description> + <p>The SupplierAdmin interface defines the first step for connecting suppliers + to the event channel. It acts as a factory for creating proxy consumers. + Both consumer administration and supplier administration are defined as separate + objects so that the creator of the channel can control the addition of + suppliers and consumers.</p> + <p>To get access to all definitions include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + </description> + <funcs> + <func> + <name>obtain_push_consumer(Object) -> Return</name> + <fsummary>Create a ProxyPushConsumer object</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = #objref</v> + </type> + <desc> + <p>This operation returns a ProxyPushConsumer object reference.</p> + </desc> + </func> + <func> + <name>obtain_pull_consumer(Object) -> Return</name> + <fsummary>Create a ProxyPullConsumer object</fsummary> + <type> + <v>Object = #objref</v> + <v>Return = #objref</v> + </type> + <desc> + <p>This operation returns a ProxyPullConsumer object reference.</p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/Makefile b/lib/cosEvent/doc/src/Makefile new file mode 100644 index 0000000000..5136c7cfb5 --- /dev/null +++ b/lib/cosEvent/doc/src/Makefile @@ -0,0 +1,230 @@ +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 1999-2009. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% +# +# +include $(ERL_TOP)/make/target.mk +include $(ERL_TOP)/make/$(TARGET)/otp.mk + +# ---------------------------------------------------- +# Application version +# ---------------------------------------------------- +include ../../vsn.mk +VSN=$(COSEVENT_VSN) +APPLICATION=cosEvent +# ---------------------------------------------------- +# Include dependency +# ---------------------------------------------------- + +ifndef DOCSUPPORT +include make.dep +endif + +# ---------------------------------------------------- +# Release directory specification +# ---------------------------------------------------- +RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN) + +# ---------------------------------------------------- +# Target Specs +# ---------------------------------------------------- +XML_APPLICATION_FILES = ref_man.xml +XML_REF3_FILES = \ + CosEventChannelAdmin.xml \ + CosEventChannelAdmin_ConsumerAdmin.xml \ + CosEventChannelAdmin_SupplierAdmin.xml \ + CosEventChannelAdmin_EventChannel.xml \ + CosEventChannelAdmin_ProxyPullConsumer.xml \ + CosEventChannelAdmin_ProxyPullSupplier.xml \ + CosEventChannelAdmin_ProxyPushConsumer.xml \ + CosEventChannelAdmin_ProxyPushSupplier.xml \ + cosEventApp.xml + +XML_PART_FILES = \ + part.xml \ + part_notes.xml +XML_CHAPTER_FILES = \ + ch_contents.xml \ + ch_introduction.xml \ + ch_event_service.xml \ + notes.xml + +BOOK_FILES = book.xml + +TECHNICAL_DESCR_FILES = + +GIF_FILES = \ + book.gif \ + notes.gif \ + ref_man.gif \ + user_guide.gif \ + e_s_components.gif \ + e_s_models.gif + + +PS_FILES = + + +# ---------------------------------------------------- + +INTERNAL_HTML_FILES = $(TECHNICAL_DESCR_FILES:%.xml=$(HTMLDIR)/%.html) + +HTML_FILES = $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \ + $(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html) + +INFO_FILE = ../../info +EXTRA_FILES = summary.html.src \ + $(DEFAULT_GIF_FILES) \ + $(DEFAULT_HTML_FILES) \ + $(XML_REF3_FILES:%.xml=$(HTMLDIR)/%.html) \ + $(XML_CHAPTER_FILES:%.xml=$(HTMLDIR)/%.html) + +MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3) + +ifdef DOCSUPPORT + +HTML_REF_MAN_FILE = $(HTMLDIR)/index.html + +TOP_PDF_FILE = $(PDFDIR)/$(APPLICATION)-$(VSN).pdf + +else + +TEX_FILES_BOOK = \ + $(BOOK_FILES:%.xml=%.tex) +TEX_FILES_REF_MAN = $(XML_REF3_FILES:%.xml=%.tex) \ + $(XML_APPLICATION_FILES:%.xml=%.tex) +TEX_FILES_USERS_GUIDE = \ + $(XML_CHAPTER_FILES:%.xml=%.tex) + +TOP_PDF_FILE = $(APPLICATION)-$(VSN).pdf + +TOP_PS_FILE = $(APPLICATION)-$(VSN).ps + +$(TOP_PDF_FILE): book.dvi ../../vsn.mk + $(DVI2PS) $(DVIPS_FLAGS) -f $< | $(DISTILL) $(DISTILL_FLAGS) > $@ + +$(TOP_PS_FILE): book.dvi ../../vsn.mk + $(DVI2PS) $(DVIPS_FLAGS) -f $< > $@ +endif + +# ---------------------------------------------------- +# FLAGS +# ---------------------------------------------------- +XML_FLAGS += +DVIPS_FLAGS += + +# ---------------------------------------------------- +# Targets +# ---------------------------------------------------- +$(HTMLDIR)/%.gif: %.gif + $(INSTALL_DATA) $< $@ + +ifdef DOCSUPPORT + +docs: pdf html man + +$(TOP_PDF_FILE): $(XML_FILES) + +pdf: $(TOP_PDF_FILE) + +html: gifs $(HTML_REF_MAN_FILE) + +clean clean_docs: + rm -rf $(HTMLDIR)/* + rm -f $(MAN3DIR)/* + rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo) + rm -f errs core *~ + rm -f $(JD_HTML) $(JD_PACK) + +else + +ifeq ($(DOCTYPE),pdf) +docs: pdf +else +ifeq ($(DOCTYPE),ps) +docs: ps +else +docs: html gifs man +endif +endif + +pdf: $(TOP_PDF_FILE) + +ps: $(TOP_PS_FILE) + +html: $(HTML_FILES) $(INTERNAL_HTML_FILES) + +clean clean_docs clean_tex: + rm -f $(TEX_FILES_USERS_GUIDE) $(TEX_FILES_REF_MAN) $(TEX_FILES_BOOK) + rm -f $(HTML_FILES) $(MAN3_FILES) + rm -f $(TOP_PDF_FILE) $(TOP_PS_FILE) + rm -f errs core *~ *xmls_output *xmls_errs $(LATEX_CLEAN) +endif + +man: $(MAN3_FILES) + +gifs: $(GIF_FILES:%=$(HTMLDIR)/%) + +$(INDEX_TARGET): $(INDEX_SRC) + sed -e 's;%VSN%;$(VSN);' $(INDEX_SRC) > $(INDEX_TARGET) + +debug opt: + +# ---------------------------------------------------- +# Release Target +# ---------------------------------------------------- +include $(ERL_TOP)/make/otp_release_targets.mk + +ifdef DOCSUPPORT + +release_docs_spec: docs + $(INSTALL_DIR) $(RELSYSDIR)/doc/pdf + $(INSTALL_DATA) $(TOP_PDF_FILE) $(RELSYSDIR)/doc/pdf + $(INSTALL_DIR) $(RELSYSDIR)/doc/html + $(INSTALL_DATA) $(HTMLDIR)/* \ + $(RELSYSDIR)/doc/html + $(INSTALL_DATA) $(INFO_FILE) $(RELSYSDIR) + $(INSTALL_DIR) $(RELEASE_PATH)/man/man3 + $(INSTALL_DATA) $(MAN3DIR)/* $(RELEASE_PATH)/man/man3 + +else + +ifeq ($(DOCTYPE),pdf) +release_docs_spec: pdf + $(INSTALL_DIR) $(RELEASE_PATH)/pdf + $(INSTALL_DATA) $(TOP_PDF_FILE) $(RELEASE_PATH)/pdf +else +ifeq ($(DOCTYPE),ps) +release_docs_spec: ps + $(INSTALL_DIR) $(RELEASE_PATH)/ps + $(INSTALL_DATA) $(TOP_PS_FILE) $(RELEASE_PATH)/ps +else +release_docs_spec: docs + $(INSTALL_DIR) $(RELSYSDIR)/doc/html + $(INSTALL_DATA) $(GIF_FILES) $(EXTRA_FILES) $(HTML_FILES) \ + $(RELSYSDIR)/doc/html + $(INSTALL_DATA) $(INFO_FILE) $(RELSYSDIR) + $(INSTALL_DIR) $(RELEASE_PATH)/man/man3 + $(INSTALL_DATA) $(MAN3_FILES) $(RELEASE_PATH)/man/man3 + +endif +endif + +endif + +release_spec: + diff --git a/lib/cosEvent/doc/src/book.gif b/lib/cosEvent/doc/src/book.gif Binary files differnew file mode 100644 index 0000000000..94b3868792 --- /dev/null +++ b/lib/cosEvent/doc/src/book.gif diff --git a/lib/cosEvent/doc/src/book.xml b/lib/cosEvent/doc/src/book.xml new file mode 100644 index 0000000000..68e26be0ea --- /dev/null +++ b/lib/cosEvent/doc/src/book.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE book SYSTEM "book.dtd"> + +<book xmlns:xi="http://www.w3.org/2001/XInclude"> + <header titlestyle="normal"> + <copyright> + <year>1999</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>cosEvent</title> + <prepared></prepared> + <docno></docno> + <date>1998-04-25</date> + <rev>1.0</rev> + <file>book.xml</file> + </header> + <insidecover> + </insidecover> + <pagetext>cosEvent</pagetext> + <preamble> + <contents level="2"></contents> + </preamble> + <parts lift="no"> + <xi:include href="part.xml"/> + </parts> + <applications> + <xi:include href="ref_man.xml"/> + </applications> + <releasenotes> + <xi:include href="notes.xml"/> + </releasenotes> + <listofterms></listofterms> + <index></index> +</book> + diff --git a/lib/cosEvent/doc/src/ch_contents.xml b/lib/cosEvent/doc/src/ch_contents.xml new file mode 100644 index 0000000000..bc2838b36d --- /dev/null +++ b/lib/cosEvent/doc/src/ch_contents.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>1999</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>The cosEvent Application</title> + <prepared>Niclas Eklund</prepared> + <docno></docno> + <date>1999-09-17</date> + <rev>B</rev> + <file>ch_contents.xml</file> + </header> + + <section> + <title>Content Overview</title> + <p>The cosEvent documentation is divided into three sections: + </p> + <list type="bulleted"> + <item> + <p>PART ONE - The User's Guide + <br></br>Description of the cosEvent Application including + services and a small tutorial demonstrating + the development of a simple service.</p> + </item> + <item> + <p>PART TWO - Release Notes + <br></br>A concise history of cosEvent.</p> + </item> + <item> + <p>PART THREE - The Reference Manual + <br></br> A quick reference guide, including a + brief description, to all the functions available in cosEvent.</p> + </item> + </list> + </section> + + <section> + <title>Brief Description of the User's Guide</title> + <p>The User's Guide contains the following parts:</p> + <list type="bulleted"> + <item> + <p>CosEvent overview</p> + </item> + <item> + <p>CosEvent installation and examples</p> + </item> + </list> + </section> +</chapter> + diff --git a/lib/cosEvent/doc/src/ch_event_service.xml b/lib/cosEvent/doc/src/ch_event_service.xml new file mode 100644 index 0000000000..c65f6767ad --- /dev/null +++ b/lib/cosEvent/doc/src/ch_event_service.xml @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>1997</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>Event Service</title> + <prepared></prepared> + <docno></docno> + <date>97-11-19</date> + <rev>A</rev> + <file>ch_es_intro.xml</file> + </header> + + <section> + <title>Overview of the CosEvent Service</title> + <p>The Event service allows programmers to subscribe to + information channels. Suppliers can generate events without knowing the + consumer identities and the consumer can receive events without knowing + the supplier identity. Both push and pull event delivery are supported. + The Event service will queue information and processes. + </p> + <p>The CORBA Event service provides a flexible model for + asynchronous, decoupled communication between objects. This + chapter outlines communication models and the roles and + relationships of key components in the CosEvent service. It + shows a simple example on use of this service.</p> + </section> + + <section> + <title>Event Service Components</title> + <p>There are five components in the OMG CosEvent service architecture. These + are described below:</p> + <marker id="e_s_components"></marker> + <image file="e_s_components.gif"> + <icaption> +Figure 1: Event service Components</icaption> + </image> + <list type="bulleted"> + <item><em>Suppliers and consumers:</em> Consumers are the ultimate targets of + events generated by suppliers. Consumers and suppliers can both play active + and + passive roles. There could be two types of consumers and suppliers: push + or pull. A PushSupplier object can actively push an event to a passive + PushConsumer object. Likewise, a PullSupplier object can passively + wait for a PullConsumer object to actively pull an event from it.</item> + <item><em>EventChannel:</em> The central abstraction in the CosEvent service is the + EventChannel which plays the role of a mediator between consumers and + suppliers. Consumers and suppliers register their interest with the + EventChannel. It can provide many-to-many communication. The channel + consumes events from one or more suppliers, and supplies events to one + or more consumers. An EventChannel can support consumers and suppliers + using different communication models.</item> + <item><em>ProxySuppliers and ProxyConsumers:</em> ProxySuppliers act as middlemen + between consumers and the EventChannel. A ProxySupplier is similar to + a normal supplier, but includes an additional method for connecting a + consumer to the ProxySupplier. Likewise, ProxyConsumers act as + middlemen between suppliers and the EventChannel. A ProxyConsumer is + similar to a normal consumer, but includes an additional method for + connecting a supplier to the ProxyConsumer.</item> + <item><em>Supplier and consumer administrations:</em> Consumer administration acts as + a factory for creating ProxySuppliers. Supplier administration acts as + a factory for creating ProxyConsumers.</item> + </list> + </section> + + <section> + <title>Event Service Communication Models</title> + <p>There are four general models of component collaboration in the OMG CosEvent service + architecture. The following describes these models: + (Please note that proxies are not shown in the diagrams for simplicity).</p> + <marker id="e_s_models"></marker> + <image file="e_s_models.gif"> + <icaption> +Figure 2: Event service Communication Models</icaption> + </image> + <list type="bulleted"> + <item><em>The Canonical Push Model:</em> The Canonical push model shown in figure 2(A) allows + the suppliers of events to initiate the transfer of event data to consumers. + In this model, suppliers are active initiators and consumers are the passive + targets of the requests. EventChannels play the role of <c><![CDATA[Notifier]]></c>. + Thus, active suppliers use EventChannels to push data to passive consumers that + have registered with the EventChannels.</item> + <item><em>The Canonical Pull Model:</em>The Canonical pull model shown + in figure 2(B) + allows consumers to request events from suppliers. In this model, + Consumers are + active initiators and suppliers are the passive targets of the pull + requests. + EventChannel plays the role of <c><![CDATA[Procurer]]></c> since it procures + events + on behalf of consumers. Thus, active consumers can explicitly pull + data + from passive suppliers via the EventChannels.</item> + <item><em>The Hybrid Push/Pull Model:</em> The push/pull model shown in figure 2(C) is a + hybrid that allows consumers to request events queued at an EventChannel + by suppliers. In this model, both suppliers and consumers are active + initiators of the requests. EventChannels play the role of <c><![CDATA[Queue]]></c>. + Thus, active consumers can explicitly pull data deposited by active + suppliers via the EventChannels.</item> + <item><em>The Hybrid Pull/Push Model:</em> The pull/push model shown in figure 2(D) is another + hybrid that allows the channel to pull events from suppliers and push them + to consumers. In this model, suppliers are passive targets of pull requests + and consumers are passive targets of pushes. EventChannels play the role of + <c><![CDATA[Intelligent Agent]]></c>. Thus, active EventChannels can pull data from + passive suppliers and push that data to passive consumers.</item> + </list> + </section> + + <section> + <title>A Tutorial on How to Create a Simple Service</title> + <p>To be able to use the cosEvent application supplier and consumer objects + must be implemented, which must inherit from the appropriate interface + defined in the <em>CosEventComm.idl</em> specification.</p> + <p>We start by creating an interface which inherits from the correct interface, + e.g., CosEventComm::PushConsumer. Hence, we must also implement all + operations defined in the PushConsumer interface. The IDL-file could look like: + </p> + <code type="c"><![CDATA[ +#ifndef _MYCLIENT_IDL +#define _MYCLIENT_IDL +#include <CosEventComm.idl> + +module myClientImpl { + + interface ownInterface:CosEventComm::PushConsumer { + + void ownFunctions(in any NeededArguments) + raises(OwnExceptions); + + }; +}; + +#endif + ]]></code> + <p>Run the IDL compiler on this file by calling the <c><![CDATA[ic:gen/1]]></c> function. + This will produce the API named <c><![CDATA[myClientImpl_ownInterface.erl]]></c>. + After generating the API stubs and the server skeletons it is time to + implement the servers and if no special options are sent + to the IDl compiler the file name is <c><![CDATA[myClientImpl_ownInterface_impl.erl]]></c>.</p> + </section> + + <section> + <title>How to Run Everything</title> + <p>Below is a short transcript on how to run cosEvent. </p> + <code type="none"><![CDATA[ + +%% Start Mnesia and Orber +mnesia:delete_schema([node()]), +mnesia:create_schema([node()]), +orber:install([node()]), +mnesia:start(), +orber:start(), + +%% Install cosEvent in the IFR. +cosEventApp:install(), + +%% Register the application specific Client implementations +%% in the IFR. +'oe_myClientImpl':'oe_register'(), + +%% Start the cosEvent application. +cosEventApp:start(), + +%% Start a channel using the default configuration +Ch = cosEventApp:start_channel(), +%% ... or use configuration parameters. +Ch = cosEventApp:start_channel([{pull_interval, 10}, {maxEvents, 50}]), + +%% Retrieve a SupplierAdmin and a ConsumerAdmin. +AdminSupplier = 'CosEventChannelAdmin_EventChannel':for_suppliers(Ch), +AdminConsumer = 'CosEventChannelAdmin_EventChannel':for_consumers(Ch), + +%% Use the corresponding Admin object to get access to wanted Proxies + +%% Create a Push Consumer Proxy, which the Client Push Supplier will push +%% events to. +ProxyPushConsumer = + 'CosEventChannelAdmin_SupplierAdmin':obtain_push_consumer(AdminSupplier), + +%% Create a Push Supplier Proxy, which will push events to the registered +%% Push Consumer. +ProxyPushSupplier = + 'CosEventChannelAdmin_ConsumerAdmin':obtain_push_supplier(AdminConsumer), + + +%% Create application Clients. We can, for example, start the Clients +%% our selves or look them up in the naming service. This is application +%% specific. +Consumer = myClientImpl_ownInterface:oe_create(), +Supplier = ... + +%% Connect each Client to the corresponding Proxy. +'CosEventChannelAdmin_ProxyPushConsumer': + connect_push_supplier(ProxyPushConsumer, Supplier), +'CosEventChannelAdmin_ProxyPushSupplier': + connect_push_consumer(ProxyPushSupplier, Consumer), + ]]></code> + <p>The example above, exemplifies a event system, i.e., the <em>Canonical Push Model</em>, where the Supplier client in some way generates event + and pushes them to the proxy. The push supplier proxies will eventually + push the events to each Consumer client.</p> + </section> +</chapter> + diff --git a/lib/cosEvent/doc/src/ch_introduction.xml b/lib/cosEvent/doc/src/ch_introduction.xml new file mode 100644 index 0000000000..8f948a5530 --- /dev/null +++ b/lib/cosEvent/doc/src/ch_introduction.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>1999</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>Introduction to cosEvent</title> + <prepared>Niclas Eklund</prepared> + <docno></docno> + <date>1999-09-17</date> + <rev></rev> + <file>ch_introduction.xml</file> + </header> + + <section> + <title>Overview</title> + <p>The cosEvent application is a Event Service compliant with the <url href="http://www.omg.org">OMG</url> + Event Service CosEvent. + </p> + + <section> + <title>Purpose and Dependencies</title> + <p>CosEvent is dependent on <em>Orber</em>, which provides CORBA functionality in an Erlang environment.</p> + </section> + + <section> + <title>Prerequisites</title> + <p>To fully understand the concepts presented in the + documentation, it is recommended that the user is familiar + with distributed programming and CORBA. + </p> + <p>Recommended reading includes <em>CORBA, Fundamentals and Programming - Jon Siegel</em> and <em>Open Telecom Platform Documentation Set</em>. It is also helpful to have read + <em>Concurrent Programming in Erlang</em>.</p> + </section> + </section> +</chapter> + diff --git a/lib/cosEvent/doc/src/cosEventApp.xml b/lib/cosEvent/doc/src/cosEventApp.xml new file mode 100644 index 0000000000..d83f44acb1 --- /dev/null +++ b/lib/cosEvent/doc/src/cosEventApp.xml @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>2001</year> + <year>2007</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>cosEventApp</title> + <prepared>Niclas Eklund</prepared> + <responsible>Niclas Eklund</responsible> + <docno></docno> + <approved>Niclas Eklund</approved> + <checked></checked> + <date>2000-01-31</date> + <rev>PA1</rev> + <file>cosEventApp.xml</file> + </header> + <module>cosEventApp</module> + <modulesummary>The main module of the cosEvent application.</modulesummary> + <description> + <p>To get access to the record definitions for the structures use:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p> + <p>This module contains the functions for starting and stopping the application.</p> + </description> + <funcs> + <func> + <name>install() -> Return</name> + <fsummary>Install the cosEvent application</fsummary> + <type> + <v>Return = ok | {'EXCEPTION', E} | {'EXIT', R}</v> + </type> + <desc> + <p>This operation installs the cosEvent application.</p> + </desc> + </func> + <func> + <name>uninstall() -> Return</name> + <fsummary>Uninstall the cosEvent application</fsummary> + <type> + <v>Return = ok | {'EXCEPTION', E} | {'EXIT', R}</v> + </type> + <desc> + <p>This operation uninstalls the cosEvent application.</p> + </desc> + </func> + <func> + <name>start() -> Return</name> + <fsummary>Start the cosEvent application</fsummary> + <type> + <v>Return = ok | {error, Reason}</v> + </type> + <desc> + <p>This operation starts the cosEvent application.</p> + </desc> + </func> + <func> + <name>stop() -> Return</name> + <fsummary>Stop the cosEvent application</fsummary> + <type> + <v>Return = ok | {error, Reason}</v> + </type> + <desc> + <p>This operation stops the cosEvent application.</p> + </desc> + </func> + <func> + <name>start_channel() -> Channel</name> + <fsummary>Start a channel with default settings</fsummary> + <type> + <v>Channel = #objref</v> + </type> + <desc> + <p>This operation creates a new instance of a + <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso> + using the default settings.</p> + </desc> + </func> + <func> + <name>start_channel(Options) -> Channel</name> + <fsummary>Start a channel with settings defined by the given options</fsummary> + <type> + <v>Options = [Option]</v> + <v>Option = {pull_interval, Seconds} | {typecheck, Boolean} | {maxEvents, Integer} | {blocking, Boolean}</v> + <v>Channel = #objref</v> + </type> + <desc> + <p>This operation creates a new instance of a + <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso></p> + <p></p> + <list type="bulleted"> + <item><c><![CDATA[{pull_interval, Seconds}]]></c> - determine how often Proxy Pull + Consumers will check for new events with the client application. The + default value is 20 seconds.</item> + <item><c><![CDATA[{typecheck, Boolean}]]></c> - if this option is set to true the + proxies will check if the supplied client object is of correct type. + The default value is false.</item> + <item><c><![CDATA[{maxEvents, Integer}]]></c> - this option determine how many events + the <c><![CDATA[ProxyPullSuppliers]]></c> will store before discarding events. + If the limit is reached events will be discarded in any order. + The default value is 300.</item> + <item><c><![CDATA[{blocking, Boolean}]]></c> - this option determine the behavior of + the channel when handling events internally. If set to <c><![CDATA[true]]></c> the + risk of a single event supplier floods the system is reduced, but + the performance may also be reduced. + The default value is <c><![CDATA[true]]></c>.</item> + </list> + </desc> + </func> + <func> + <name>start_channel_link() -> Channel</name> + <fsummary>Start a channel, which is linked to the invoking process, with default settings</fsummary> + <type> + <v>Channel = #objref</v> + </type> + <desc> + <p>This operation creates a new instance of a + <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso>, + which is linked to the invoking process, using the default settings.</p> + </desc> + </func> + <func> + <name>start_channel_link(Options) -> Channel</name> + <fsummary>Start a channel, which is linked to the invoking process, with settings defined by the given options</fsummary> + <type> + <v>Options = [Option]</v> + <v>Option = {pull_interval, Seconds} | {typecheck, Boolean} | {maxEvents, Integer} | {blocking, Boolean}</v> + <v>Channel = #objref</v> + </type> + <desc> + <p>This operation creates a new instance of a + <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso>, + which is linked to the invoking process, with settings defined by the + given options. Allowed options are the same as for + <c><![CDATA[cosEventApp:start_channel/1]]></c>.</p> + </desc> + </func> + <func> + <name>stop_channel(Channel) -> Reply</name> + <fsummary>Terminate the target object</fsummary> + <type> + <v>Channel = #objref</v> + <v>Reply = ok | {'EXCEPTION', E}</v> + </type> + <desc> + <p>This operation stop the target event channel.</p> + </desc> + </func> + </funcs> + +</erlref> + diff --git a/lib/cosEvent/doc/src/e_s_components.gif b/lib/cosEvent/doc/src/e_s_components.gif Binary files differnew file mode 100644 index 0000000000..a448c14ce0 --- /dev/null +++ b/lib/cosEvent/doc/src/e_s_components.gif diff --git a/lib/cosEvent/doc/src/e_s_components.ps b/lib/cosEvent/doc/src/e_s_components.ps new file mode 100644 index 0000000000..c220467916 --- /dev/null +++ b/lib/cosEvent/doc/src/e_s_components.ps @@ -0,0 +1,3595 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (./e_s_components.tmp.eps) +%%CreationDate: (Tue Jun 12 17:30:24 2001) +%%BoundingBox: 0 37 377 162 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 0 +%%EndComments + +%%BeginDefaults +%%PageOrientation: Portrait +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/buffer 512 string def +/byte 1 string def +/color_packet 3 string def +/pixels 768 string def + +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-RunlengthEncodedCompression or 1-NoCompression. + % hex color packets. + % + gsave + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 37 377 162 +userdict begin +%%BeginData: +DisplayImage +0 37 +377.000000 125.000000 +12 +599 199 +1 +1 +1 +8 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +000000000000000000000000000000000000000000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff0000000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea0000000000000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000eaea00eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaea00eaeaea00 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaea00eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00eaeaea00eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff00eaeaea00eaeaea00ea0000ea00ea000000eaea0000ea0000ea000000ea00000000ea +eaeaeaea0000ea0000ea0000ea0000ea0000ea0000eaea00ea0000eaeaea0000eaea0000 +ea00eaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff00eaeaea00000000eaeaea00 +00ea00eaeaea00eaea00ea00eaeaea00eaeaea00eaea0000eaeaeaea00eaea00eaea0000 +eaea00ea0000eaea00ea00eaea00eaea00eaea00eaea0000eaeaeaeaeaeaeaeaeaeaeaea +ea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff00eaeaea00eaeaeaeaeaea00eaea00eaeaea00eaeaea00eaea +eaea00eaea00eaeaeaeaea00eaeaea00eaea00eaea00eaeaea00ea00eaeaea00ea00eaea +00eaea00000000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ea +eaea00eaeaeaeaeaea00eaea00eaeaea00eaeaea00eaeaeaeaea00ea00eaeaeaeaea00ea +eaea00eaea00eaea00eaeaea00ea00eaeaea00ea00eaea00eaea00eaeaeaeaea00eaeaea +eaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffff00000000000000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff00eaeaea00eaeaeaeaeaea00eaea00 +eaeaea00eaea00ea00eaeaeaea00ea00ea00eaeaea00eaeaea00eaea00eaea0000eaea00 +ea0000eaea00ea00eaea00eaea00eaea00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea00ff +ffffffffffffffffff0000ffffff00ffffffffffffffffffffffffffffffffffffffffff +ffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff00ea000000eaeaeaea000000eaea000000eaea0000ea0000eaeaea +ea00eaea00000000eaeaeaeaea00000000ea00ea0000eaea00ea0000ea000000000000ea +ea0000eaea000000eaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffff0000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea00ffffffffffffffffffffffff0000ff00ffffff000000ff0000ffffff00 +0000ffff000000ff0000ff00000000ffff00000000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffff +ffffffffffff00000000ffffffff0000ff00ffffff0000ff0000ffff0000000000ffff00 +00ffff0000ffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaea000000eaeaea000000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffff0000ff00ffffff +ff0000ff00ffffff0000000000ffff0000ff0000ffff0000ffff000000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00000000000000000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +00ffffffff0000ffffffffffffffffff0000ffffffffffff0000ff00ffffff0000ffffff +ffff0000ff0000ffff0000ffffffff000000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000000000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffff00000000ffff +ffffff0000ffffff00ffffff0000ffffffff0000ffff00ffff0000ff0000ffff0000ffff +00ffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea0000ffffffffffffffffffffffffff000000ff00000000000000ffffff00 +00ffffffffff000000ffff000000ff000000ff000000ff00000000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff000000000000000000000000ffffffffff00 +0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffff +ffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00000000000000000000ffffffffffffffffff000000eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffff +ff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +0000ffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffff +ffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff0000000000000000000000000000000000000000ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff00000000000000ffffffffffffffffffffffffffffffffffffffffffff000000 +0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff00000000000000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaea00000000000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +0000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +0000ffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff +ff00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff0000ffff00000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffff +ff000000ffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff +ffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff00000000ffffffffff00000000ffffffffffffffff +ffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea000000ea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff0000ffffffffffffff0000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff000000ff000000000000ffffffffffffffffffff0000eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff00ffffffff +ffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffff +ffffffff0000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaea +ea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +00000000ffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff00ffffffffffffffffffffffffffffffffffffff00eaeaea00eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffff00eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +0000ff00ffffff000000ff0000ffffff000000ffff000000ff0000ff00000000ffff0000 +0000ffffffffffffffffffffffff00eaeaea000000ea00ea000000eaea0000ea0000ea00 +0000ea00000000eaeaeaeaeaeaeaea000000eaea0000ea00eaeaea0000000000ea0000ea +0000ea00eaea00eaeaeaea0000eaea0000ea00eaeaeaeaeaeaeaea00ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00000000000000000000ffffff00eaeaeaea000000ea00eaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff0000ff00ff +ffff0000ff0000ffff0000000000ffff0000ffff0000ffff00ffffffffffffffffffffff +ff00000000eaea0000ea00eaeaea00eaea00ea00eaeaea00eaeaea00ea00eaeaeaeaeaea +ea00eaeaea00eaea0000ea00ea00eaea00ea00eaea00eaea0000ea0000ea00eaea00eaea +00eaea0000eaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +00000000ff00eaeaeaea00eaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000ff00ffffffff0000ff00ffffff0000000000ffff0000ff00 +00ffff0000ffff000000ffffffffffffffffffffffffffff00eaeaeaeaea00eaea00eaea +ea00eaeaea00eaeaeaea00eaea00eaea00eaeaeaeaeaeaea00eaeaea00eaea00eaea00ea +0000eaeaea00eaea00eaea00eaea00eaea00eaea00000000eaea00eaeaeaeaeaeaeaeaea +ea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff00000000ffffffffffffffff00eaeaeaea00eaeaea +eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff +ffffffffff0000ff00ffffff0000ffffffffff0000ff0000ffff0000ffffffff000000ff +ffffffffffffffffffffff00eaeaeaeaea00eaea00eaeaea00eaeaea00eaeaeaeaea00ea +00eaea00eaeaeaeaea00ea00eaeaea00eaea00eaea00eaeaea0000ea00eaea00eaea00ea +ea00eaea00eaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00eaeaeaea00eaeaeaeaeaeaeaea000000eaea0000ea +00eaeaea0000000000ea0000ea0000ea00eaea00eaeaeaea0000eaea0000ea00eaeaeaea +eaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff0000ffffff00ffffff0000ffffffff00 +00ffff00ffff0000ff0000ffff0000ffff00ffff0000ffffffffffffffffffffffff00ea +eaeaeaea00eaea00eaeaea00eaea00ea00eaeaeaea00ea00eaeaea00eaeaea00eaea00ea +eaea00eaea00eaea00ea00eaea00ea00eaea00eaea00eaea00eaea00eaea00eaea00eaea +00eaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff00eaeaeaea00eaeaeaeaeaeaea00eaeaea00eaea0000ea00ea00eaea00ea00eaea00ea +ea0000ea0000ea00eaea00eaea00eaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00000000000000ffffff0000ffffffffff000000ffff000000ff000000ff +000000ff00000000ffffffffffffffffffffffff000000eaeaea000000eaea000000eaea +0000ea0000eaeaeaea00eaeaeaeaea000000eaeaeaea000000eaea000000ea0000000000 +eaeaea00000000000000ea0000ea0000eaea0000eaea000000eaeaeaeaeaeaeaea00ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaea00eaeaeaeaeaea +ea00eaeaea00eaea00eaea00ea0000eaeaea00eaea00eaea00eaea00eaea00eaea000000 +00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff00eaeaeaea00eaeaeaeaea00ea00eaeaea00eaea00eaea00ea +eaea0000ea00eaea00eaea00eaea00eaea00eaea00eaeaeaeaea00eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ea +eaeaeaea00eaeaea00eaea00eaeaea00eaea00eaea00ea00eaea00ea00eaea00eaea00ea +ea00eaea00eaea00eaea00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff0000000000000000ffff0000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaea000000eaeaeaea00 +0000eaea000000ea0000000000eaeaea00000000000000ea0000ea0000eaea0000eaea00 +0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +000000000000000000ff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000 +000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff000000000000000000ffffff0000 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff0000000000000000ffffffffffff0000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff00000000eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000 +000000ffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00000000ff0000000000ffffffffffffffffffffffff +ffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffff0000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +00ffffffffff00000000ffffffffffffffffffffffffffffffffffff000000eaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea000000ffffffffffffffffffffff0000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffff +ffffffffffffffffffffffffffffffffffff000000ffffffffffffffffff0000ffffffff +ffffffffffffffffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffffffff +ffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffff +ff00000000ffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea0000000000000000ffffffffffffffffffffffffffffffffffffffffffffff00 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff00000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000 +0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea00ffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff00000000000000000000000000000000000000000000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff0000000000000000000000000000000000000000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +00eaeaeaeaeaeaea00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000eaea +00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffff +ffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaea00eaeaea00ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffff00000000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff00eaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea00ffff000000ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaea +eaeaeaeaea00eaeaeaeaea0000ea0000ea0000ea0000ea0000ea0000eaea00ea0000eaea +ea0000eaea0000ea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaea0000eaeaeaea00 +eaea00eaea0000eaea00ea0000eaea00ea00eaea00eaea00eaea00eaea0000eaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff00eaeaeaeaeaeaeaeaeaeaeaea00eaeaea00eaea00eaea00eaeaea00ea00ea +eaea00ea00eaea00eaea00000000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaea +eaeaeaeaea00eaeaea00eaea00eaea00eaeaea00ea00eaeaea00ea00eaea00eaea00eaea +eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff00ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaea00eaeaea00eaeaea00eaea00 +eaea0000eaea00ea0000eaea00ea00eaea00eaea00eaea00eaea00eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff0000ffffffffffff0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff00eaeaeaeaeaeaea00000000eaeaeaeaea00000000ea00ea0000eaea00ea0000ea +000000000000eaea0000eaea000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff +ffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff0000ff0000000000ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff00000000000000ffffffffffffffffffffffffffffffffff00 +00000000000000000000000000000000000000eaeaeaeaeaeaeaeaea000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000eaeaea000000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +0000000000ffffffffffffffffffffffffff00000000eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000000000ffffffffffffffffff +ffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffff +ffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaea00000000000000ffffffffffffffff00ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff00000000000000000000ffffffffffffff0000eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +00000000ffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff00000000000000eaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000000000ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000 +0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaea00eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +eaea00ea000000eaea0000ea0000eaeaea0000ea00eaea000000eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000000000ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000eaea00eaeaea00ea00ea +ea00eaeaea0000ea00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaea00eaea00eaeaea00ea00eaea00000000eaeaea00eaea00eaea00ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffff000000 +00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaea +eaeaea00ea00eaea00eaeaeaeaeaea00eaea00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +000000ffffffffffffffffffffffffffffffffffff0000ffffff00ffffffffffffffffff +ffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaea00eaea00eaeaea00eaea00ea +eaea00eaea00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffff +ffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000000000000000000000000000000000000000ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea000000000000eaeaea00eaeaeaea0000eaeaea000000ea0000ea0000eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffff0000ff00ff +ffff000000ff0000ffffff000000ffff000000ff0000ff00000000ffff00000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000000000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea0000ffffffffffffffffffffff00000000ffffffff0000ff00ffffff0000ff +0000ffff0000000000ffff0000ffff0000ffff00ffffffffffffffffffffffffffffffff +ffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea0000000000ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffff +ffffffffff0000ff00ffffffff0000ff00ffffff0000000000ffff0000ff0000ffff0000 +ffff000000ffffffffffffffffffffffffffffffffffffffffffffffff000000eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffff0000ffffffffffff +0000ff00ffffff0000ffffffffff0000ff0000ffff0000ffffffff000000ffffffffffff +ffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff00ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00ffffffffffffff0000ffffff00ffffff0000ffffffff0000ffff00ff +ff0000ff0000ffff0000ffff00ffff0000ffffffffffffffffffffffffffffffffffff00 +00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff00000000ffffffffffffffff000000000000eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea0000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffff +ff00000000000000ffffff0000ffffffffff000000ffff000000ff000000ff000000ff00 +000000ffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +0000ffffffffff00eaea00eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaea00eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffff +ffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ea00ea0000eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff0000000000000000ffff00eaeaea00eaea +ea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff00000000ffffffffffffffffff00eaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea00eaeaea0000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaea00ffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000eaeaea00eaeaea00ea0000ea00ea000000eaea +0000ea0000ea000000ea00000000eaeaeaeaea0000ea0000ea0000ea0000ea0000ea0000 +eaea00ea0000eaeaea0000eaea0000ea00eaeaeaeaeaeaeaeaeaeaeaea00ffffffff0000 +000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff0000000000ffffffffffffff00eaeaeaea000000ea00eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaea00 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +00ffff00eaeaea00000000eaeaea0000ea00eaeaea00eaea00ea00eaeaea00eaeaea00ea +ea0000eaeaeaea00eaea00eaea0000eaea00ea0000eaea00ea00eaea00eaea00eaea00ea +ea0000eaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffff00000000 +00000000000000000000000000000000ffffffffffffffffff00000000000000ffffffff +00eaeaeaea00eaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaea00ea00eaeaea0000eaea0000ea00 +eaea0000ea00eaeaea0000eaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff000000000000ffffffff00eaeaea00eaeaeaeaea +ea00eaea00eaeaea00eaeaea00eaeaeaea00eaea00eaeaeaeaea00eaeaea00eaea00eaea +00eaeaea00ea00eaeaea00ea00eaea00eaea00000000eaea00eaeaeaeaeaeaeaeaeaeaea +eaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff000000000000000000000000000000000000ff00eaeaeaea00eaeaeaeaea00eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +00eaeaeaeaeaeaeaea0000ea00ea00eaea00eaea0000ea00eaea0000ea00ea00eaea00ea +eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff0000000000ffffffffff00eaeaea00eaeaeaeaeaea00eaea00eaeaea00eaeaea00 +eaeaeaeaea00ea00eaeaeaeaea00eaeaea00eaea00eaea00eaeaea00ea00eaeaea00ea00 +eaea00eaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +00000000000000000000eaeaeaea00eaeaeaeaeaeaeaea000000eaea0000ea00eaeaea00 +00000000ea0000ea0000ea00eaea00eaeaeaea0000eaea0000ea00eaeaeaeaeaeaeaeaea +eaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaea00eaea00 +eaea000000eaea00eaea00eaea00eaea00ea00000000eaeaea00eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffff +00eaeaea00eaeaeaeaeaea00eaea00eaeaea00eaea00ea00eaeaeaea00ea00ea00eaeaea +00eaeaea00eaea00eaea0000eaea00ea0000eaea00ea00eaea00eaea00eaea00eaea00ea +eaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffff00eaeaea +ea00eaeaeaeaeaeaea00eaeaea00eaea0000ea00ea00eaea00ea00eaea00eaea0000ea00 +00ea00eaea00eaea00eaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaea00eaea00ea00eaea00eaea00eaea00eaea +00eaea00ea00eaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff00ffffffffffffffffffff00ea000000eaeaeaea000000 +eaea000000eaea0000ea0000eaeaeaea00eaea00000000eaeaeaeaea00000000ea00ea00 +00eaea00ea0000ea000000000000eaea0000eaea000000eaeaeaeaeaeaeaeaeaeaeaea00 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff000000000000ffffffffff00eaeaeaea00eaeaeaeaeaeaea00eaeaea +00eaea00eaea00ea0000eaeaea00eaea00eaea00eaea00eaea00eaea00000000eaea00ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ea +eaea00eaeaea00eaea00ea00eaea00eaea00eaea00eaea00eaea00ea00eaea00eaeaea00 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff +ffffffffffff00eaeaeaea00eaeaeaeaea00ea00eaeaea00eaea00eaea00eaeaea0000ea +00eaea00eaea00eaea00eaea00eaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000eaeaea000000ea0000ea00 +000000000000ea0000000000ea0000ea0000eaeaea000000eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff00eaeaeaea00 +eaeaea00eaea00eaeaea00eaea00eaea00ea00eaea00ea00eaea00eaea00eaea00eaea00 +eaea00eaea00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000eaeaea00 +0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff00eaeaeaea000000eaeaeaea000000eaea00 +0000ea0000000000eaeaea00000000000000ea0000ea0000eaea0000eaea000000eaeaea +eaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000 +0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff00000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000 +0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff00000000eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff0000000000000000ffff000000000000000000eaeaeaeaeaeaeaea +eaeaeaeaeaeaea00000000000000000000000000000000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaea0000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +00000000ffffffffffffffffffffff000000000000000000000000000000ffffffffffff +ffffffffffffffffffff00000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff000000000000000000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff0000000000000000eaeaeaeaeaeaeaeaeaeaeaeaea0000000000000000000000 +000000000000ffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea0000000000000000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00000000000000ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff00000000000000000000000000000000000000000000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +00000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff00ff00000000ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff00eaeaeaeaeaeaea00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea0000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff00ffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaea00 +eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff000000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff00eaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00ffffffffffff00ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +00eaeaeaeaeaeaeaeaea00eaeaeaeaea0000ea0000ea0000ea0000ea0000ea0000eaea00 +ea0000eaeaea0000eaea0000ea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffff +ffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaea0000 +eaeaeaea00eaea00eaea0000eaea00ea0000eaea00ea00eaea00eaea00eaea00eaea0000 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffff0000ffffffff00ff +ffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaea00eaeaea00eaea00eaea00eaea +ea00ea00eaeaea00ea00eaea00eaea00000000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00ffffffffffffff0000ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaea +eaeaeaeaeaeaeaeaeaea00eaeaea00eaea00eaea00eaeaea00ea00eaeaea00ea00eaea00 +eaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffff +ffff0000ffff00ffffff00000000ff000000ffffffffff000000ff0000ffff0000000000 +ffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaea00eaeaea00eaea +ea00eaea00eaea0000eaea00ea0000eaea00ea00eaea00eaea00eaea00eaea00eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffff0000000000ffffffff0000 +ffffff00ff000000ffffff000000ff0000ffff0000ffffff0000ffff00ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff00eaeaeaeaeaeaea00000000eaeaeaeaea00000000ea00ea0000eaea +00ea0000ea000000000000eaea0000eaea000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaea00ffffffffffffffff0000ffff00ffffffffff0000ff00ff0000ff0000ffff0000 +ffff0000ffff0000ffffff000000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffff00 +00ffffffffffffffff0000ff00ff0000000000ffff0000ffff0000ffff0000ffffffff00 +0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffff0000ffffffffffffffff000000ff +ff0000ffffffffff0000ffff0000ffff0000ffffffffff000000ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000eaeaea000000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffff +ffffffffffffffffff0000ffffffff00ffffffff0000ffff0000ffff00ffff0000ffff00 +00ffff0000ff00ff00ffff0000ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ff0000ffffffffffffffffff0000000000 +000000ffffffff0000ffffff000000ffff00000000ff000000ffff0000ffff00000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea000000ffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffff0000 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea00000000ffffffffffffffffffffffffffffffff0000ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000000000ffffffffffffffffff +ffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000 +00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff000000000000000000000000000000000000000000 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000 +0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000000000ffffffff +ffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffffffffffffffffffff +ffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ff +ffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff000000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffff00ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff0000000000000000000000000000000000000000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffff000000ffffff +ffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea000000ffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff00000000000000eaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000000000ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff000000ffffff00000000ffffffffffffffffffffffffffffff +000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffff +ff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff00000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaea00000000ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff0000000000000000ffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffff00ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff +ffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea0000ff00ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff00000000000000ffffffffffffffff00eaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +0000000000000000ffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ea0000ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff00ffffffff +ffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000ffffff00 +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff000000000000000000000000ffff00eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +0000ff00ffffff000000ff0000ffffff000000ffff000000ff0000ff00000000ffff0000 +0000ffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaea000000ea00ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff0000ff00ff +ffff0000ff0000ffff0000000000ffff0000ffff0000ffff00ffffffffffffffffffffff +ffffffffffffffffffffff00eaeaeaea00eaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ea00eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000ff00ffffffff0000ff00ffffff0000000000ffff0000ff00 +00ffff0000ffff000000ffffffffffffffffffffffffffffffffffffffffffffff00eaea +eaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff0000eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea00eaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff +ffffffffff0000ff00ffffff0000ffffffffff0000ff0000ffff0000ffffffff000000ff +ffffffffffffffffffffffffffffffffffffffff00eaeaeaea00eaeaeaeaeaeaeaea0000 +00eaea0000ea00eaeaea0000000000ea0000ea0000ea00eaea00eaeaeaea0000eaea0000 +ea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff0000eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaea +eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff0000ffffff00ffffff0000ffffffff00 +00ffff00ffff0000ff0000ffff0000ffff00ffff0000ffffffffffffffffffffffffffff +ffffffffffffff00eaeaeaea00eaeaeaeaeaeaea00eaeaea00eaea0000ea00ea00eaea00 +ea00eaea00eaea0000ea0000ea00eaea00eaea00eaea0000eaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaea000000ea +00ea000000eaea0000ea0000ea000000ea00000000eaeaeaeaeaeaeaea000000eaea0000 +ea00eaeaea0000000000ea0000ea0000ea00eaea00eaeaeaea0000eaea0000ea00eaeaea +eaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffff00000000000000ffffff0000ffffffffff000000ffff000000ff000000ff +000000ff00000000ffffffffffffffffffffffffffffffffffffffffffff00eaeaeaea00 +eaeaeaeaeaeaea00eaeaea00eaea00eaea00ea0000eaeaea00eaea00eaea00eaea00eaea +00eaea00000000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff0000000000eaea0000ea00eaeaea00eaea00ea00eaea +ea00eaeaea00ea00eaeaeaeaeaeaea00eaeaea00eaea0000ea00ea00eaea00ea00eaea00 +eaea0000ea0000ea00eaea00eaea00eaea0000eaeaeaeaeaeaeaea00ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff0000ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff00eaeaeaea00eaeaeaeaea00ea00eaeaea00ea +ea00eaea00eaeaea0000ea00eaea00eaea00eaea00eaea00eaea00eaeaeaeaea00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff0000eaeaeaeaea00eaea00eaeaea00eaeaea00eaeaeaea00eaea00eaea00eaeaeaeaea +eaea00eaeaea00eaea00eaea00ea0000eaeaea00eaea00eaea00eaea00eaea00eaea0000 +0000eaea00eaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00ffffff0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff00eaeaeaeaea00eaeaea00eaea00eaeaea00eaea00eaea00ea00eaea00ea00ea +ea00eaea00eaea00eaea00eaea00eaea00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaeaeaea00eaea00ea +eaea00eaeaea00eaeaeaeaea00ea00eaea00eaeaeaeaea00ea00eaeaea00eaea00eaea00 +eaeaea0000ea00eaea00eaea00eaea00eaea00eaea00eaeaeaeaea00eaeaeaeaeaeaeaea +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff0000000000000000ffffffff00eaeaeaeaea0000 +00eaeaeaea000000eaea000000ea0000000000eaeaea00000000000000ea0000ea0000ea +ea0000eaea000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000eaeaeaea00eaea00eaeaea00eaea00ea00eaeaeaea00 +ea00eaeaea00eaeaea00eaea00eaeaea00eaea00eaea00ea00eaea00ea00eaea00eaea00 +eaea00eaea00eaea00eaea00eaea00eaeaeaeaeaeaea00ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffff +ffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000 +0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff0000000000000000000000ffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +00eaeaea000000eaea000000eaea0000ea0000eaeaeaea00eaeaeaeaea000000eaeaeaea +000000eaea000000ea0000000000eaeaea00000000000000ea0000ea0000eaea0000eaea +000000eaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff00000000000000ffffffffffffffffffffffffffffffffff0000 +000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000000000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 +ffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000 +0000000000ffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff0000000000000000ffffffffffff0000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff +000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +0000000000000000ffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff0000eaeaeaeaeaeaeaeaeaeaeaeaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +ea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff0000000000000000000000ffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff00000000ffff0000000000ffffffffffffff +ffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +000000ff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +0000000000ffffffffffff00000000ffffffffffffffffffffffffffffffffff000000ea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff00 +00ffffffffffffffffffffffffffffffffffffffffff00000000eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffff +ff0000000000ffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff +ffffffffffffffffffffffffff00000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaea00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +ffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff0000000000000000000000000000000000000000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff0000000000eaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffffffffff +ffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff0000000000000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea0000000000000000ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffff0000000000ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff00000000000000000000000000000000000000000000ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaea0000eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00 +ffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00eaea00eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaea00eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ea +eaea00eaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff00eaeaea00eaeaea00ea0000ea00ea +000000eaea0000ea0000ea000000ea00000000eaeaeaeaea0000ea0000ea0000ea0000ea +0000ea0000eaea00ea0000eaeaea0000eaea0000ea00eaeaeaeaeaeaeaeaeaeaeaea00ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff00eaeaea00000000eaeaea0000ea00eaeaea00eaea00ea00eaeaea00 +eaeaea00eaea0000eaeaeaea00eaea00eaea0000eaea00ea0000eaea00ea00eaea00eaea +00eaea00eaea0000eaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00eaeaea00 +eaeaeaeaeaea00eaea00eaeaea00eaeaea00eaeaeaea00eaea00eaeaeaeaea00eaeaea00 +eaea00eaea00eaeaea00ea00eaeaea00ea00eaea00eaea00000000eaea00eaeaeaeaeaea +eaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffff00eaeaea00eaeaeaeaeaea00eaea00eaeaea +00eaeaea00eaeaeaeaea00ea00eaeaeaeaea00eaeaea00eaea00eaea00eaeaea00ea00ea +eaea00ea00eaea00eaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff00eaeaea00eaeaeaeaeaea00eaea00eaeaea00eaea00ea00eaeaeaea00ea00 +ea00eaeaea00eaeaea00eaea00eaea0000eaea00ea0000eaea00ea00eaea00eaea00eaea +00eaea00eaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ea000000eaea +eaea000000eaea000000eaea0000ea0000eaeaeaea00eaea00000000eaeaeaeaea000000 +00ea00ea0000eaea00ea0000ea000000000000eaea0000eaea000000eaeaeaeaeaeaeaea +eaeaeaea00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaea00eaeaeaeaea00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000 +00eaeaea000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff00eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaea0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000eaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea0000ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff000000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +0000eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaea000000ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000eaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea00000000 +00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff0000000000000000eaeaeaeaeaeaeaeaeaeaea +eaeaeaeaeaeaeaeaeaeaea0000000000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00000000000000000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: 0 37 377 162 +%%EOF diff --git a/lib/cosEvent/doc/src/e_s_models.gif b/lib/cosEvent/doc/src/e_s_models.gif Binary files differnew file mode 100644 index 0000000000..329b0858d1 --- /dev/null +++ b/lib/cosEvent/doc/src/e_s_models.gif diff --git a/lib/cosEvent/doc/src/e_s_models.ps b/lib/cosEvent/doc/src/e_s_models.ps new file mode 100644 index 0000000000..3e2a8dd9a2 --- /dev/null +++ b/lib/cosEvent/doc/src/e_s_models.ps @@ -0,0 +1,1007 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /clearcase/otp/libraries/orber/doc/src/e_s_models.ps +%%Creator: XV Version 3.10a Rev: 12/29/94 - by John Bradley +%%BoundingBox: 6 176 605 495 +%%Pages: 1 +%%DocumentFonts: +%%EndComments +%%EndProlog + +%%Page: 1 1 + +% remember original state +/origstate save def + +% build a temporary dictionary +20 dict begin + +% define string to hold a scanline's worth of data +/pix 75 string def + +% define space for color conversions +/grays 599 string def % space for gray scale line +/npixls 0 def +/rgbindx 0 def + +% lower left corner +6 176 translate + +% size of image (on paper, in 1/72inch coords) +598.96800 319.03200 scale + +% dimensions of data +599 319 1 + +% mapping matrix +[599 0 0 -319 0 319] + +{currentfile pix readhexstring pop} +image +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +c00000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00003e +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffe000000000000000000001fffffffffffffffffffffffff +ff9ffffffffffffffffffffffffe000000000000000000001fffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffffffffffffffffffffdfffffffffffffffffffffff +ffffbe +dffffff000003ffffffffffffefffffffffc1ffe7ef7ffdfffffffffffffffffffffffff +ff9ffffff000003ffffffffffffeffffffffff07f33bdfffdfffffffffffffffffffffff +ffffbe +dffff80fffffc07ffffffffffeffff3ffffeefff7dfbffdffffffffffffffc00000fffff +ff9ffff80fffffc07ffffffffffefffe7fffffbbfbb7efffdffffffffffffffc00000fff +ffffbe +dfff87ffffffff87fffffffffeffff0ffffeefff7dfbffdffffffffffffe03fffff01fff +ff9fff87ffffffff87fffffffffefff87fffffbbfbb7efffdffffffffffffe03fffff01f +ffffbe +dff87ffffffffff87ffffffffeffff03fe06e2635bfdffdfffffffffffe1ffffffffe1ff +ff9ff87ffffffffff87ffffffffeffe07fff81b89baff7ffdfffffffffffe1ffffffffe1 +ffffbe +dfc7ffffffffffff8ffffffffeffff00fffe1b5b2bfdffdffffffffffe1ffffffffffe1f +ff9fc7ffffffffffff8ffffffffeff807fffff86dbaff7ffdffffffffffe1ffffffffffe +1fffbe +df3ffffffffffffff3fffffffefe00003e06fb4f6bfdffdffffffffff1ffffffffffffe3 +ff9f3ffffffffffffff3fffffffefe00401f81bedbaff7ffdffffffffff1ffffffffffff +e3ffbe +defffffffffffffffdfffffffeffff00fffefb736bfdffdfffffffffcffffffffffffffc +ff9efffffffffffffffdfffffffeff807fffffbedbaff7ffdfffffffffcfffffffffffff +fcffbe +d9fffffffffffffffe7ffffffeffff03fffefb5b6bfdffdfffffffffbfffffffffffffff +7f99fffffffffffffffe7ffffffeffe07fffffbedbaff7ffdfffffffffbfffffffffffff +ff7fbe +d7ffffffffffffffffbffffffeffff0ffffc7c0625fbbfdffffffffe7fffffffffffffff +9f97ffffffffffffffffbffffffefff87fffff1f0117eeffdffffffffe7fffffffffffff +ff9fbe +cfff8bfffff77fffffdffffffeffff3ffffffffffdfbffdffffffffdffffffffffffffff +ef8fff8bfffff77fffffdffffffefffe7ffffffffff7efffdffffffffdffffffffffffff +ffefbe +cfff73ffffe7ffffffdffffffefffffffffffffffef7ffdffffffffbff17ffffffffffff +f78fff73ffffe7ffffffdffffffefffffffffffffffbdfffdffffffffbff17ffffffffff +fff7be +dfff7bfffff7ffffffeffbfffeffffffffffffffffffffdffffffffbfee7ffffffffffff +f79fff7bfffff7ffffffeffffffeffffffffffffffffffffdffffffffbfee7ffffffffff +fff7be +dfff9e669a7773afffeffcfffeffffffffffffffffffffdffffffff7fdf7ffffffffffff +fb9fff9e669a7773afffeffc007effffffffffffffffffffdffcfffff7fdf7ffffffffff +fffbbe +dfffe77461b66d1fffefff3e7e000000000000000000001ffc007ff7fdff8e9c19a5f3af +fb9fffe77461b66d1fffeffc00fe000000000000000000001ffcff3ff7fdff8e9c19a5f3 +affbbe +dffffb76ebb761bfffefffdc7ffffffffffffffffffffffffe00fff7fdff746b5d12ed1f +fb9ffffb76ebb761bfffeffe01fffffffffffffffffffffffff878fff7fdff746b5d12ed +1ffbbe +cfff7b76ebb76fbfffdfffe03ffffffffffffffffffffffffe01fff7fdff76e9ddb6e1bf +fb8fff7b76ebb76fbfffdffe01fffffffffffffffffffffffff067fff7fdff76e9ddb6e1 +bffbbe +cfff3b6269b76dbfffd7fff83ffffffffc07ffffffffffffff01ffebfdf776ee5db6efbf +f78fff3b6269b76dbfffd7ff03fffffffffc07fffffffffffff01fffebfdf776ee5db6ef +bff7be +d7ff47969a62331fffb9fff01ffffffff3f807fffffffffffe03ff9bfeef76eb58b6edbf +f797ff47969a62331fffb9ff04fffffffff3f807ffffffffffe03fff9bfeef76eb58b6ed +bff7be +d9fffffefbfffffffe7effe01fffffff8ffff81ffffffffff907fe7dff1f8c40e512731f +ef99fffffefbfffffffe7eff8f7fffffff8ffff81fffffffffc01ffe7dff1f8c40e51273 +1fefbe +defffffefbfffffffdff3fc00ffffffc7fffffe0ffffffffe78ff9fe7fffffffffffffff +9f9efffffefbfffffffdff3f8fbffffffc7fffffe0ffffffff801ff9fe7fffffffffffff +ff9fbe +df3ffffc71fffffff3ffdf800ffffff3ffffffff03ffffff9f8fe7ffbfffffffffffffff +7f9f3ffffc71fffffff3ffdfdfcffffff3ffffffff03ffffff800fe7ffbfffffffffffff +ff7fbe +dfc7ffffffffffff8fffefff87ffff0ffffffffffc0fffff7fdf9fffcffffffffffffffc +ff9fc7ffffffffffff8fffeffff7ffff0ffffffffffc0fffffffff9fffcfffffffffffff +fcffbe +dff87ffffffffff87ffff3fffffffcfffffffffffff0fffffffe7ffff1ffffffffffffe3 +ff9ff87ffffffffff87ffff3fffbfffcfffffffffffff0fffffffe7ffff1ffffffffffff +e3ffbe +dfff87ffffffff87fffffdfffffff3ffffffffffffff3ffffff9fffffe1ffffffffffe1f +ff9fff87ffffffff87fffffdfffffff3ffffffffffffff3ffffff9fffffe1ffffffffffe +1fffbe +dffff80fffffc07ffffffe7fffffcfffffffffffffffc7ffffe7ffffffe1ffffffffe1ff +ff9ffff80fffffc07ffffffe7fffffcfffffffffffffffc7ffffe7ffffffe1ffffffffe1 +ffffbe +dffffff000003fffffffffbfffff3ffffffffffffffffbffff9ffffffffe03fffff01fff +ff9ffffff000003fffffffffbfffff3ffffffffffffffffbffff9ffffffffe03fffff01f +ffffbe +dfffffffffffffffffffffcffffefffffffffffffffffbfffe7ffffffffffc00000fffff +ff9fffffffffffffffffffffcffffefffffffffffffffffbfffe7ffffffffffc00000fff +ffffbe +dffffffffffffffffffffff7fffdfffffffffffffffffcfff9ffffffffffffffffffffff +ff9ffffffffffffffffffffff7fffdfffffffffffffffffcfff9ffffffffffffffffffff +ffffbe +dffffffffffffffffffffffbfffbffffffffffffffffff7fe7ffffffffffffffffffffff +ff9ffffffffffffffffffffffbfffbffffffffffffffffff7fe7ffffffffffffffffffff +ffffbe +dffffffffffffffffffffffcffe7ffffffffffffffffff7f9fffffffffffffffffffffff +ff9ffffffffffffffffffffffcffe7ffffffffffffffffff7f9fffffffffffffffffffff +ffffbe +dfffffffffffffffffffffff7f9fffffffffffffffffffbe7fffffffffffffffffffffff +ff9fffffffffffffffffffffff7f9fffffffffffffffffffbe7fffffffffffffffffffff +ffffbe +dfffffffffffffffffffffff9e7fffffffffffffffffffb9ffffffffffffffffffffffff +ff9fffffffffffffffffffffff9e7fffffffffffffffffffb9ffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffdffffffffffffffffffffb7ffffffffffffffffffffffff +ff9ffffffffffffffffffffffffdffffffffffffffffffffb7ffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffb81fffffff8bbfffffffbdfffffffffffffffffffffffff +ff9ffffffffffffffffffffffffb81fffffff8bbfffffffbdfffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffff7ddfffffbf733fffffff3efffffffffffffffffffffffff +ff9ffffffffffffffffffffffff7ddfffffbf733fffffff3efffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffcfdffffffbefbbfffffffbefffffffffffffffffffffffff +ff9fffffffffffffffffffffffcfdffffffbefbbfffffffbefffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffff3fdb88ce91effa79d3a73bf7ffffefffffffffffffffffff +ff9fffffffffffffffffffffff3fdb88ce91effa79d3a73bf7fff807ffffffffffffffff +ffffbe +dffffffffffffffffffffffcffc3ddb46beff9b68d1adbf7ff9fc7ffffffffffffffffff +ff9ffffffffffffffffffffffcffc3ddb46beff9b68d1adbf7ff800fffffffffffffffff +ffffbe +dfffffffffffffffffffffe3ffdbeb86ebeffbb8ddba1bf7ffe3c3ffffffffffffffffff +ff9fffffffffffffffffffffe3ffdbeb86ebeffbb8ddba1bf7ffc00fffffffffffffffff +ffffbe +dfffffffffffffffffffff1fffdfebbeebefbbb6ddbafbeffffc40ffffffffffffffffff +ff9fffffffffffffffffffff1fffdfebbeebefbbb6ddbafbefffe00fffffffffffffffff +ffffbe +dffffffffffffffffffff8ffffdef7b6eaf77bb6ddbadbe1ffff807ffffffc00000fffff +ff9ffffffffffffffffffff8ffffdef7b6eaf77bb6ddbadbe1fff007fffffffc00000fff +ffffbe +dffffffffffffffffffff7ffff81f7cc41f8f118081131de1fff803ffffe03fffff01fff +ff9ffffffffffffffffffff7ffff81f7cc41f8f118081131de1ffc18fffffe03fffff01f +ffffbe +dffffffffffffffffffff7ffffffffffffffffffffffffdfe1ff801fffe1ffffffffe1ff +ff9ffffffffffffffffffff7ffffffffffffffffffffffffdfe1fe1f3fffe1ffffffffe1 +ffffbe +dffffffffffffffffffff7ffffffffffffffffffffffffbffe1f800ffe1ffffffffffe1f +ff9ffffffffffffffffffff7ffffffffffffffffffffffffbffe1f1fcffe1ffffffffffe +1fffbe +dffffffffffffffffffff7ffffffffffffffffffffffffbfffe10ffff1ffffffffffffe3 +ff9ffffffffffffffffffff7ffffffffffffffffffffffffbfffe1bffff1ffffffffffff +e3ffbe +dffffffffffffffffffff7ffffffffffffffffffffffff7ffffe1fffcffffffffffffffc +ff9ffffffffffffffffffff7ffffffffffffffffffffffff7ffffe1fffcfffffffffffff +fcffbe +dffffffffffffffffffff7ffffffffffffffffffffffff7fffffe1ffbfffffffffffffff +7f9ffffffffffffffffffff7ffffffffffffffffffffffff7fffffe1ffbfffffffffffff +ff7fbe +dfffffffffffffffffffeffffffffffffffffffffffffefffffffe1e7fffffffffffffff +9f9fffffffffffffffffffeffffffffffffffffffffffffefffffffe1e7fffffffffffff +ff9fbe +dfffffffffffffffffffeffffffffffffffffffffffffeffffffffedffffffffffffffff +ef9fffffffffffffffffffeffffffffffffffffffffffffeffffffffedffffffffffffff +ffefbe +dfffffffffffffffffffefffffffffc71fff717ffbfffdfffffffffbff17ffffffffffff +f79fffffffffffffffffffefffffffff03fffffffffdfffdfffffffffbff17ffffffffff +fff7be +dffffffffffffffffffff7ffffffffb7bff7edfffdfff3fffffffffbfee7ffffffffffff +f79ffffffffffffffffffff7fffffffeddfffffffffefff3fffffffffbfee7ffffffffff +fff7be +dffffffffffffffffffffbffffffff73bff7effffeffeffffffffff7fdf7ffffffffffff +fb9ffffffffffffffffffffbfffffffdddffffffffff7feffffffffff7fdf7ffffffffff +fffbbe +dffffffffffffffffffffbfffffffef5bc634373af7f9ffffffffff7fdff8e9c19a5f3af +fb9ffffffffffffffffffffbfffffffbddd63c4cae75bf9ffffffffff7fdff8e9c19a5f3 +affbbe +dffffffffffffffffffffdfffffffef6bbb66e6d1f7c7ffffffffff7fdff746b5d12ed1f +fb9ffffffffffffffffffffdfffffffbc38ddb6e1da3bc7ffffffffff7fdff746b5d12ed +1ffbbe +dffffffffffffffffffffefffffffef6bbb76f61bf03fffffffffff7fdff76e9ddb6e1bf +fb9ffffffffffffffffffffefffffffbdfdddbeebc3703fffffffffff7fdff76e9ddb6e1 +bffbbe +dffffffffffffffffffffefffffffef73bb76f6f807ffffffffffffbfdf776ee5db6efbf +f79ffffffffffffffffffffefffffffbdfdddbeebdc0bffffffffffffbfdf776ee5db6ef +bff7be +dfffffffffffffffffffff3ffffffef7bbb56f6d3f7bfffffffffffbfeef76eb58b6edbf +f79fffffffffffffffffffff3ffffffbdfdddb6c3d37bbfffffffffffbfeef76eb58b6ed +bff7be +dfffffffffffffffffffffc0000002e3bc7206321f7cfffffffffffdff1f8c40e512731f +ef9fffffffffffffffffffffc00000038f8e3cf21e63bcfffffffffffdff1f8c40e51273 +1fefbe +dfffffffffffffffffffffffbffffc7ffffffffdfeff7ffffffffffe7fffffffffffffff +9f9fffffffffffffffffffffffbffffc7ffffffffdff7f7ffffffffffe7fffffffffffff +ff9fbe +dfffffffffffffffffffffff7fffff9ffffffffdfdffbfffffffffffbfffffffffffffff +7f9fffffffffffffffffffffff7ffffe9ffffffffdfeffbfffffffffffbfffffffffffff +ff7fbe +dffffffffffffffffffffffeffffffcffffffffbfbffcfffffffffffcffffffffffffffc +ff9ffffffffffffffffffffefeffffff6ffffffffbfdffcfffffffffffcfffffffffffff +fcffbe +dffffffffffffffffffe01fdffffffeffffffff7fffff7fffffffffff1ffffffffffffe3 +ff9ffffffffffffffffffff9fdffffffeffffffff7fffff7fffffffffff1ffffffffffff +e3ffbe +dffffffffffffffffff003fbfffffff7ffffffeffffff9ffbffffffffe1ffffffffffe1f +ff9ffffffffffffffffffbf7fbfffffff7ffffffeffffff9fffffffffffe1ffffffffffe +1fffbe +dffffffffffffffffff803f7fffffffbffffffdffffffeffdfffffffffe1ffffffffe1ff +ff9ffffffffffffffffff1eff7fffffffbffffffdffffffeffc1ffffffffe1ffffffffe1 +ffffbe +dffffffffffffffffffc07effffffffc3fffffbfffffff3feffffffffffe03fffff01fff +ff9ffffffffffffffffff19feffffffffc3fffffbfffffff3fe01ffffffffe03fffff01f +ffffbe +dffffffffffffffffffc07dfffffffffc7ffff7fffffffdff3cffffffffffc00000fffff +ff9fffffffffffffffffe0ffdfffffffffc7ffff7fffffffdfe007fffffffffc00000fff +ffffbe +dffffffffffffffffffe0fbffffffffff87ffeffffffffeffdcfffffffffffffffffffff +ff9fffffffffffffffffe07fbffffffffff87ffeffffffffefe00fffffffffffffffffff +ffffbe +dffffffffffffffffffc0f7fffffffffff83e1fffffffff3fe87ffffffffffffffffffff +ff9fffffffffffffffffc03f7fffffffffff83e1fffffffff3f01fffffffffffffffffff +ffffbe +dffffffffffffffffff39efffffffffffffc1ffffffffffdff07ffffffffffffffffffff +ff9fffffffffffffffffc03efffffffffffffc1ffffffffffdf03fffffffffffffffffff +ffffbe +dfffffffffffffffffef9dfffffffffffffffffffffffffe7e03ffffffffffffffffffff +ff9fffffffffffffffff801dfffffffffffffffffffffffffe781fffffffffffffffffff +ffffbe +dfffffffffffffffff9ffbffffffffffffffffffffffffffbe03ffffffffffffffffffff +ff9fffffffffffffffff9ffbffffffffffffffffffffffffffb86fffffffffffffffffff +ffffbe +dfffffffffffffffff7ff7ffffffffffffffffffffffffffcc01ffffffffffffffffffff +ff9ffffffffffffffffffff7ffffffffffffffffffffffffffc8f3ffffffffffffffffff +ffffbe +dffffff000003fffffffeffffffffffffffffffffffffffff001ffffffffffffffffffff +ff9ffffff000003fffffffeffffffffffffffffffffffffffff5fdffffffffffffffffff +ffffbe +dffff80fffffc07fffffdffffffffffffffffffffffffffffbf8ffffffffffffffffffff +ff9ffff80fffffc07fffffdffffffffffffffffffffffffffffbfeffffffffffffffffff +ffffbe +dfff87ffffffff87ffffbffffffffffffffffffffffffffffcffffffffffffffffffffff +ff9fff87ffffffff87ffffbffffffffffffffffffffffffffffcff7fffffffffffffffff +ffffbe +dff87ffffffffff87fff7fffffffffffffffffffffffffffff7fffffffffffffffffffff +ff9ff87ffffffffff87fff7fffffffffffffffffffffffffffff7fffffffffffffffffff +ffffbe +dfc7ffffffffffff8ffeffffffffffffffffffffffffffffff9fffffffffffffffffffff +ff9fc7ffffffffffff8ffeffffffffffffffffffffffffffffff9fffffffffffffffffff +ffffbe +df3ffffffffffffff3fdffffffffffffffffffffffffffffffefffffffffffffffffffff +ff9f3ffffffffffffff3fdffffffffffffffffffffffffffffffefffffffffffffffffff +ffffbe +defffffffffffffffdfbfffffffffffffffffffffffffffffff3ffffffffffffffffffff +ff9efffffffffffffffdfbfffffffffffffffffffffffffffffff3ffffffffffffffffff +ffffbe +d9fffffffffffffffe77fffffffffffffffffffffffffffffffdfffffffffc00000fffff +ff99fffffffffffffffe77fffffffffffffffffffffffffffffffdfffffffffc00000fff +ffffbe +d7ffffffffffffffffbffffffffffffffffffffffffffffffffefffffffe03fffff01fff +ff97ffffffffffffffffbffffffffffffffffffffffffffffffffefffffffe03fffff01f +ffffbe +cfff8bfffff77fffffdfffffffffffffffffffffffffffffffff3fffffe1ffffffffe1ff +ff8fff8bfffff77fffffdfffffffffffffffffffffffffffffffff3fffffe1ffffffffe1 +ffffbe +cfff73ffffe7ffffffdfffffffffffffffffffffffffffffffffdffffe1ffffffffffe1f +ff8fff73ffffe7ffffffdfffffffffffffffffffffffffffffffffdffffe1ffffffffffe +1fffbe +dfff7bfffff7ffffffefffffffffffffffffffffffffffffffffe7fff1ffffffffffffe3 +ff9fff7bfffff7ffffffefffffffffffffffffffffffffffffffffe7fff1ffffffffffff +e3ffbe +dfff9e669a7773afffeffffffffffffffffffffffffffffffffffbffcffffffffffffffc +ff9fff9e669a7773afffeffffffffffffffffffffffffffffffffffbffcfffffffffffff +fcffbe +dfffe77461b66d1fffeffffffffffffffffffffffffffffffffffcffbfffffffffffffff +7f9fffe77461b66d1fffeffffffffffffffffffffffffffffffffffcffbfffffffffffff +ff7fbe +dffffb76ebb761bfffefffffffffffffffffffffffffffffffffff7e7fffffffffffffff +9f9ffffb76ebb761bfffefffffffffffffffffffffffffffffffffff7e7fffffffffffff +ff9fbe +cfff7b76ebb76fbfffdfffffffffffffffffffffffffffffffffffbdffffffffffffffff +ef8fff7b76ebb76fbfffdfffffffffffffffffffffffffffffffffffbdffffffffffffff +ffefbe +cfff3b6269b76dbfffdfffffffffffffffffffffffffffffffffffcbff17ffffffffffff +f78fff3b6269b76dbfffdfffffffffffffffffffffffffffffffffffcbff17ffffffffff +fff7be +d7ff47969a62331fffbffffffffffffffffffffffffffffffffffffbfee7ffffffffffff +f797ff47969a62331fffbffffffffffffffffffffffffffffffffffffbfee7ffffffffff +fff7be +d9fffffefbfffffffe7ffffffffffffffffffffffffffffffffffff7fdf7ffffffffffff +fb99fffffefbfffffffe7ffffffffffffffffffffffffffffffffffff7fdf7ffffffffff +fffbbe +defffffefbfffffffdfffffffffffffffffffffffffffffffffffff7fdff8e9c19a5f3af +fb9efffffefbfffffffdfffffffffffffffffffffffffffffffffffff7fdff8e9c19a5f3 +affbbe +df3ffffc71fffffff3fffffffffffffffffffffffffffffffffffff7fdff746b5d12ed1f +fb9f3ffffc71fffffff3fffffffffffffffffffffffffffffffffffff7fdff746b5d12ed +1ffbbe +dfc7ffffffffffff8ffffffffffffffffffffffffffffffffffffff7fdff76e9ddb6e1bf +fb9fc7ffffffffffff8ffffffffffffffffffffffffffffffffffffff7fdff76e9ddb6e1 +bffbbe +dff87ffffffffff87ffffffffffffffffffffffffffffffffffffffbfdf776ee5db6efbf +f79ff87ffffffffff87ffffffffffffffffffffffffffffffffffffffbfdf776ee5db6ef +bff7be +dfff87ffffffff87fffffffffffffffffffffffffffffffffffffffbfeef76eb58b6edbf +f79fff87ffffffff87fffffffffffffffffffffffffffffffffffffffbfeef76eb58b6ed +bff7be +dffff80fffffc07ffffffffffffffffffffffffffffffffffffffffdff1f8c40e512731f +ef9ffff80fffffc07ffffffffffffffffffffffffffffffffffffffffdff1f8c40e51273 +1fefbe +dffffff000003ffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff +9f9ffffff000003ffffffffffffffffffffffffffffffffffffffffffe7fffffffffffff +ff9fbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffff +7f9fffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffff +ff7fbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffc +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffcfffffffffffff +fcffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffff1ffffffffffffe3 +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffff1ffffffffffff +e3ffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffe1f +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffe +1fffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffe1ff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffe1 +ffffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03fffff01fff +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03fffff01f +ffffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000fffff +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000fff +ffffbe +dfffffffffffffffffffdff007fff17fffffffff3e1fff3fcf9fe7f3ffffffffffffffff +ff9fffffffffffffffffff07fc01fffc5fffffffffcf87fc9f3e7f9fcfffffffffffffff +ffffbe +dfffffffffffffffffff9ff6d7ffee7fffffdfffbf6fffbfef3ff7fbffffffffffffffff +ff9fffffffffffffffffffbbfdb5fffb9ffffff7ffefdbfedfbcffdfefffffffffffffff +ffffbe +dfffffffffffffffffff5ffeefffdeffffffffff7eefff7fce7feff7ffffffffffffffff +ff9fffffffffffffffffff7bffbbfff7bfffffffffdfbbfdbf39ffbfdfffffffffffffff +ffffbe +dfffffffffffffffffff5dfde9cfbfc49cc939e37ee3794fd6678e77ffffffffffffffff +ff9fffffffffffffffffff777f7a73eff127324e78dfba6dbf599e39dfffffffffffffff +ffffbe +dffffffffffffffffffedffde5afbfb65b65b5db7e1b772fd55b6d77ffffffffffffffff +ff9fffffffffffffffffff0fff796befed96d96d76df876dbf556db5dfffffffffffffff +ffffbe +dffffffffffffffffffc1ffded6fbf76d76dafbb7efb7b6fd53aeb77ffffffffffffffff +ff9fffffffffffffffffff77ff7b5befddb5db6beedfbf6dbf54ebaddfffffffffffffff +ffffbe +dffffffffffffffffffddffded1fbf6ed76dafb6fef6fd6fd33ac8efffffffffffffffff +ff9ffffffffffffffffffef7ff7b47efdbb5db6bedbfbedb7f4ceb23bfffffffffffffff +ffffbe +dffffffffffffffffffbdffbdb6fde4db6db6da6fdf6ecdfb6b69b6fffffffffffffffff +ff9ffffffffffffffffffef7fef6dbf7936db6db69bf7edb7edada6dbfffffffffffffff +ffffbe +dffffffffffffffffff18bf1d91fe12599d9339278f062cf144e48e7ffffffffffffffff +ff9ffffffffffffffffffc0efc7647f84966764ce49e3e093c5139239fffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +c00000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00003e +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +c00000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00003e +dffffffffffffffffffffffffeffffffffff83f99deffdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffffffffff83f99deffdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffff1fffffddfddbf7fdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffff1fffffddfddbf7fdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefffc1fffffddfddbf7fdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefffc1fffffddfddbf7fdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefff01fffc0dc4dd7fbfdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefff01fffc0dc4dd7fbfdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffc01fffffc36dd7fbfdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffc01fffffc36dd7fbfdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeff00000fc0df6dd7fbfdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeff00000fc0df6dd7fbfdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffe01fffffdf6dd7fbfdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffe01fffffdf6dd7fbfdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefff81fffffdf6dd7fbfdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefff81fffffdf6dd7fbfdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefffe1fffff8f808bf77dffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefffe1fffff8f808bf77dffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffff9ffffffffffbf7fdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffff9ffffffffffbf7fdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefffffffffffffffdeffdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefffffffffffffffdeffdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefffffffffffffffffffdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefffffffffffffffffffdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefffffffffc1ffe7ef7fdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefffffffffc1ffe7ef7fdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffefffffffffeefff7dfbfdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffefffffffffeefff7dfbfdffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffeffff1ffffeefff7dfbfdffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffeffff1ffffeefff7dfbfdffffffffffffffffffffffff +ffffbe +dffffff000003ffffffffffffeffff07fe06e2635bfdfdffffffffffffffffffffffffff +ff9ffffff000003ffffffffffffeffff07fe06e2635bfdfdffffffffffffffffffffffff +ffffbe +dffff80fffffc07ffffffffffeffff01fffe1b5b2bfdfdfffffffffffffffc00000fffff +ff9ffff80fffffc07ffffffffffeffff01fffe1b5b2bfdfdfffffffffffffffc00000fff +ffffbe +dfff87ffffffff87fffffffffeffff007e06fb4f6bfdfdfffffffffffffe03fffff01fff +ff9fff87ffffffff87fffffffffeffff007e06fb4f6bfdfdfffffffffffffe03fffff01f +ffffbe +dff87ffffffffff87ffffffffefe00001ffefb736bfdfdffffffffffffe1ffffffffe1ff +ff9ff87ffffffffff87ffffffffefe00001ffefb736bfdfdffffffffffffe1ffffffffe1 +ffffbe +dfc7ffffffffffff8ffffffffeffff00fffefb5b6bfdfdfffffffffffe1ffffffffffe1f +ff9fc7ffffffffffff8ffffffffeffff00fffefb5b6bfdfdfffffffffffe1ffffffffffe +1fffbe +df3ffffffffffffff3fffffffeffff03fffc7c0625fbbdfffffffffff1ffffffffffffe3 +ff9f3ffffffffffffff3fffffffeffff03fffc7c0625fbbdfffffffffff1ffffffffffff +e3ffbe +defffffffffffffffdfffffffeffff0ffffffffffdfbfdffffffffffcffffffffffffffc +ff9efffffffffffffffdfffffffeffff0ffffffffffdfbfdffffffffffcfffffffffffff +fcffbe +d9fffffffffffffffe7ffffffeffff3ffffffffffef7fdffffffffffbfffffffffffffff +7f99fffffffffffffffe7ffffffeffff3ffffffffffef7fdffffffffffbfffffffffffff +ff7fbe +d7ffffffffffffffffbffffffefffffffffffffffffffdfffffffffe7fffffffffffffff +9f97ffffffffffffffffbffffffefffffffffffffffffffdfffffffffe7fffffffffffff +ff9fbe +cfff8bfffff77fffffdffffffefffffffffffffffffffdfffffffffdffffffffffffffff +ef8fff8bfffff77fffffdffffffefffffffffffffffffffdfffffffffdffffffffffffff +ffefbe +cfff73ffffe7ffffffdffbfffefffffffffffffffffffdfffffffffbff17ffffffffffff +f78fff73ffffe7ffffffdffffffefffffffffffffffffffdfffffffffbff17ffffffffff +fff7be +dfff7bfffff7ffffffeffcfffefffffffffffffffffffdfffffffffbfee7ffffffffffff +f79fff7bfffff7ffffffeff807fefffffffffffffffffffdfffffffffbfee7ffffffffff +fff7be +dfff9e669a7773afffefff7ffefffffffffffffffffffdfffcff3ff7fdf7ffffffffffff +fb9fff9e669a7773afffeffc007efffffffffffffffffffdfffc007ff7fdf7ffffffffff +fffbbe +dfffe77461b66d1fffefffbe7e00000000000000000001fffcfcfff7fdff8e9c19a5f3af +fb9fffe77461b66d1fffeffc00fe00000000000000000001fffc00fff7fdff8e9c19a5f3 +affbbe +dffffb76ebb761bfffefffcc7ffffffffffffffffffffffff873fff7fdff746b5d12ed1f +fb9ffffb76ebb761bfffeffe01fffffffffffffffffffffffffe00fff7fdff746b5d12ed +1ffbbe +cfff7b76ebb76fbfffdffff03ffffffffffffffffffffffff04ffff7fdff76e9ddb6e1bf +fb8fff7b76ebb76fbfffdffe01fffffffffffffffffffffffffe01fff7fdff76e9ddb6e1 +bffbbe +cfff3b6269b76dbfffd7fff83ffffffffc07fffffffffffff03fffebfdf776ee5db6efbf +f78fff3b6269b76dbfffd7ff03fffffffffc07ffffffffffffff03ffebfdf776ee5db6ef +bff7be +d7ff47969a62331fffb9fff01ffffffff3f807ffffffffffe03fff9bfeef76eb58b6edbf +f797ff47969a62331fffb9ff04fffffffff3f807fffffffffffe03ff9bfeef76eb58b6ed +bff7be +d9fffffefbfffffffe7effe01fffffff8ffff81fffffffffc01ffe7dff1f8c40e512731f +ef99fffffefbfffffffe7eff8f7fffffff8ffff81ffffffffff907fe7dff1f8c40e51273 +1fefbe +defffffefbfffffffdff3fc00ffffffc7fffffe0ffffffff801ff9fe7fffffffffffffff +9f9efffffefbfffffffdff3f8fbffffffc7fffffe0ffffffffe78ff9fe7fffffffffffff +ff9fbe +df3ffffc71fffffff3ffdf800ffffff3ffffffff03ffffff800fe7ffbfffffffffffffff +7f9f3ffffc71fffffff3ffdfdfcffffff3ffffffff03ffffff9f9fe7ffbfffffffffffff +ff7fbe +dfc7ffffffffffff8fffefff87ffff0ffffffffffc0fffffffff9fffcffffffffffffffc +ff9fc7ffffffffffff8fffeffff7ffff0ffffffffffc0fffff7fdf9fffcfffffffffffff +fcffbe +dff87ffffffffff87ffff3fffffff8fffffffffffff0fffffffe7ffff1ffffffffffffe3 +ff9ff87ffffffffff87ffff3fffbfff8fffffffffffff0fffffffe7ffff1ffffffffffff +e3ffbe +dfff87ffffffff87fffffdffffffe7ffffffffffffff3ffffff9fffffe1ffffffffffe1f +ff9fff87ffffffff87fffffdffffffe7ffffffffffffff3ffffff9fffffe1ffffffffffe +1fffbe +dffff80fffffc07ffffffe7fffff9fffffffffffffffc7ffffe7ffffffe1ffffffffe1ff +ff9ffff80fffffc07ffffffe7fffff9fffffffffffffffc7ffffe7ffffffe1ffffffffe1 +ffffbe +dffffff000003fffffffffbffffe7ffffffffffffffffbffff9ffffffffe03fffff01fff +ff9ffffff000003fffffffffbffffe7ffffffffffffffffbffff9ffffffffe03fffff01f +ffffbe +dfffffffffffffffffffffcffffdfffffffffffffffffbfffe7ffffffffffc00000fffff +ff9fffffffffffffffffffffcffffdfffffffffffffffffbfffe7ffffffffffc00000fff +ffffbe +dffffffffffffffffffffff7fffbfffffffffffffffffcfff9ffffffffffffffffffffff +ff9ffffffffffffffffffffff7fffbfffffffffffffffffcfff9ffffffffffffffffffff +ffffbe +dffffffffffffffffffffffbfffbffffffffffffffffff7fe7ffffffffffffffffffffff +ff9ffffffffffffffffffffffbfffbffffffffffffffffff7fe7ffffffffffffffffffff +ffffbe +dffffffffffffffffffffffcffe7ffffffffffffffffffbf9fffffffffffffffffffffff +ff9ffffffffffffffffffffffcffe7ffffffffffffffffffbf9fffffffffffffffffffff +ffffbe +dfffffffffffffffffffffff7f9fffffffffffffffffffbe7fffffffffffffffffffffff +ff9fffffffffffffffffffffff7f9fffffffffffffffffffbe7fffffffffffffffffffff +ffffbe +dfffffffffffffffffffffff9e7fffffffffffffffffffb9ffffffffffffffffffffffff +ff9fffffffffffffffffffffff9e7fffffffffffffffffffb9ffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffd81fffffff8bbfffffffbd7ffffffffffffffffffffffff +ff9ffffffffffffffffffffffffd81fffffff8bbfffffffbd7ffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffbddfffffbf733fffffff3dfffffffffffffffffffffffff +ff9ffffffffffffffffffffffffbddfffffbf733fffffff3dfffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffff7dffffffbefbbfffffffbefffffffffffffffffffffffff +ff9ffffffffffffffffffffffff7dffffffbefbbfffffffbefffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffcfdb88ce91effa79d3a73befffffffffffffffffffffffff +ff9fffffffffffffffffffffffcfdb88ce91effa79d3a73befffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffc3fc3ddb46beff9b68d1adbf7fff807ffffffffffffffffff +ff9ffffffffffffffffffffffc3fc3ddb46beff9b68d1adbf7ffffefffffffffffffffff +ffffbe +dfffffffffffffffffffffe3ffdbeb86ebeffbb8ddba1bf7ff800fffffffffffffffffff +ff9fffffffffffffffffffffe3ffdbeb86ebeffbb8ddba1bf7ff9fc7ffffffffffffffff +ffffbe +dfffffffffffffffffffff1fffdfebbeebefbbb6ddbafbf7ffc00fffffffffffffffffff +ff9fffffffffffffffffffff1fffdfebbeebefbbb6ddbafbf7ffe3c3ffffffffffffffff +ffffbe +dffffffffffffffffffffcffffdef7b6eaf77bb6ddbadbefffe00fffffffffffffffffff +ff9ffffffffffffffffffffcffffdef7b6eaf77bb6ddbadbeffffc41ffffffffffffffff +ffffbe +dffffffffffffffffffffbffff81f7cc41f8f118081131e1fff007fffffffc00000fffff +ff9ffffffffffffffffffffbffff81f7cc41f8f118081131e1ffff80fffffffc00000fff +ffffbe +dffffffffffffffffffff7ffffffffffffffffffffffffde1ffc18fffffe03fffff01fff +ff9ffffffffffffffffffff7ffffffffffffffffffffffffde1fff807ffffe03fffff01f +ffffbe +dffffffffffffffffffff7ffffffffffffffffffffffffdfe1fe1f3fffe1ffffffffe1ff +ff9ffffffffffffffffffff7ffffffffffffffffffffffffdfe1ff803fffe1ffffffffe1 +ffffbe +dffffffffffffffffffff7ffffffffffffffffffffffffbffe1f1fcffe1ffffffffffe1f +ff9ffffffffffffffffffff7ffffffffffffffffffffffffbffe1f801ffe1ffffffffffe +1fffbe +dffffffffffffffffffff7ffffffffffffffffffffffffbfffe1bffff1ffffffffffffe3 +ff9ffffffffffffffffffff7ffffffffffffffffffffffffbfffe11ffff1ffffffffffff +e3ffbe +dffffffffffffffffffff7ffffffffffffffffffffffff7ffffe1fffcffffffffffffffc +ff9ffffffffffffffffffff7ffffffffffffffffffffffff7ffffe1fffcfffffffffffff +fcffbe +dffffffffffffffffffff7ffffffffffffffffffffffff7fffffe1ffbfffffffffffffff +7f9ffffffffffffffffffff7ffffffffffffffffffffffff7fffffe1ffbfffffffffffff +ff7fbe +dfffffffffffffffffffeffffffffffffffffffffffffefffffffe1e7fffffffffffffff +9f9fffffffffffffffffffeffffffffffffffffffffffffefffffffe1e7fffffffffffff +ff9fbe +dfffffffffffffffffffeffffffffffb0fffffff7ffffeffffffffedffffffffffffffff +ef9fffffffffffffffffffeffffffffffefbffffff7ffffeffffffffedffffffffffffff +ffefbe +dffffffffffffffffffff7fffffffff6f7ffffffbffffdfffffffffbff17ffffffffffff +f79ffffffffffffffffffff7fffffffffdfbfffffebffffdfffffffffbff17ffffffffff +fff7be +dffffffffffffffffffff7ffffffffedfbffffffdffff3fffffffffbfee7ffffffffffff +f79ffffffffffffffffffff7fffffffffbf5fffffedffff3fffffffffbfee7ffffffffff +fff7be +dffffffffffffffffffffbffffffffddfb339999efffcffffffffff7fdf7ffffffffffff +fb9ffffffffffffffffffffbfffffffff7f5f0674c6fffcffffffffff7fdf7ffffffffff +fffbbe +dffffffffffffffffffffbffffffffddfbbb6dd6efff3ffffffffff7fdff8e9c19a5f3af +fb9ffffffffffffffffffffbfffffffff7eeeeda36efff3ffffffffff7fdff8e9c19a5f3 +affbbe +dffffffffffffffffffffdffffffffddfbbb0dd0effcfffffffffff7fdff746b5d12ed1f +fb9ffffffffffffffffffffdfffffffff7e0eec376effcfffffffffff7fdff746b5d12ed +1ffbbe +dffffffffffffffffffffeffffffffddfbbb7dd7ef03fffffffffff7fdff76e9ddb6e1bf +fb9ffffffffffffffffffffefffffffff7df71df76ef03fffffffffff7fdff76e9ddb6e1 +bffbbe +dffffffffffffffffffffeffffffffdef7b16d86c0fffffffffffffbfdf776ee5db6efbf +f79ffffffffffffffffffffefffffffff7df6fdb7680fffffffffffffbfdf776ee5db6ef +bff7be +dfffffffffffffffffffff3fffffffdf0fcb9e592ffbfffffffffffbfeef76eb58b6edbf +f79fffffffffffffffffffff3ffffffff78e20e6222ffbfffffffffffbfeef76eb58b6ed +bff7be +dfffffffffffffffffffffc0000000efdffffffe5ffcfffffffffffdff1f8c40e512731f +ef9fffffffffffffffffffffc0000000fbffef7ffe5ffcfffffffffffdff1f8c40e51273 +1fefbe +dfffffffffffffffffffffffbfffff37e3fffffdbfff7ffffffffffe7fffffffffffffff +9f9fffffffffffffffffffffffbfffff3dffef7ffdbfff7ffffffffffe7fffffffffffff +ff9fbe +dfffffffffffffffffffffff7fffffdbfffffffd7fffbfffffffffffbfffffffffffffff +7f9fffffffffffffffffffffff7fffffdefff0fffd7fffbfffffffffffbfffffffffffff +ff7fbe +dffffffffffffffffffffffeffffffeffffffffbffffcfffffffffffcffffffffffffffc +ff9ffffffffffffffffffffefeffffffeffffffffbffffcfffffffffffcfffffffffffff +fcffbe +dffffffffffffffffffe01fdffffffeffffffff7fffff7fffffffffff1ffffffffffffe3 +ff9ffffffffffffffffffff9fdffffffeffffffff7fffff7fffffffffff1ffffffffffff +e3ffbe +dffffffffffffffffff003fbfffffff7ffffffeffffff9fffffffffffe1ffffffffffe1f +ff9ffffffffffffffffffbf7fbfffffff7ffffffeffffff9ffdffffffffe1ffffffffffe +1fffbe +dffffffffffffffffff803f7fffffff8ffffffdffffffeffc1ffffffffe1ffffffffe1ff +ff9ffffffffffffffffff1eff7fffffff8ffffffdffffffeffefffffffffe1ffffffffe1 +ffffbe +dffffffffffffffffffc07efffffffff3fffff3fffffff3fe01ffffffffe03fffff01fff +ff9ffffffffffffffffff19fefffffffff3fffff3fffffff3ff7fffffffffe03fffff01f +ffffbe +dffffffffffffffffffc07dfffffffffc7fffeffffffffdfe007fffffffffc00000fffff +ff9fffffffffffffffffe0ffdfffffffffc7fffeffffffffdffbeffffffffffc00000fff +ffffbe +dffffffffffffffffffc0fbffffffffff87ffeffffffffeff00fffffffffffffffffffff +ff9fffffffffffffffffe07fbffffffffff87ffeffffffffeffdc7ffffffffffffffffff +ffffbe +dffffffffffffffffffb0f7fffffffffff83e1fffffffff3f01fffffffffffffffffffff +ff9fffffffffffffffffc03f7fffffffffff83e1fffffffff3fe87ffffffffffffffffff +ffffbe +dfffffffffffffffffe79efffffffffffffc1ffffffffffdf03fffffffffffffffffffff +ff9fffffffffffffffffc03efffffffffffffc1ffffffffffdff03ffffffffffffffffff +ffffbe +dfffffffffffffffffdf9dfffffffffffffffffffffffffe785fffffffffffffffffffff +ff9fffffffffffffffff801dfffffffffffffffffffffffffe7e03ffffffffffffffffff +ffffbe +dfffffffffffffffffbffbffffffffffffffffffffffffffb8efffffffffffffffffffff +ff9fffffffffffffffff9ffbffffffffffffffffffffffffffbc03ffffffffffffffffff +ffffbe +dfffffffffffffffff7ff7ffffffffffffffffffffffffffcdf3ffffffffffffffffffff +ff9ffffffffffffffffffff7ffffffffffffffffffffffffffc801ffffffffffffffffff +ffffbe +dffffff000003fffffffeffffffffffffffffffffffffffff7fdffffffffffffffffffff +ff9ffffff000003fffffffeffffffffffffffffffffffffffff7c1ffffffffffffffffff +ffffbe +dffff80fffffc07fffffdffffffffffffffffffffffffffffbfeffffffffffffffffffff +ff9ffff80fffffc07fffffdffffffffffffffffffffffffffffbfcffffffffffffffffff +ffffbe +dfff87ffffffff87ffffbffffffffffffffffffffffffffffcff7fffffffffffffffffff +ff9fff87ffffffff87ffffbffffffffffffffffffffffffffffcffffffffffffffffffff +ffffbe +dff87ffffffffff87fff7fffffffffffffffffffffffffffff7fffffffffffffffffffff +ff9ff87ffffffffff87fff7fffffffffffffffffffffffffffff7fffffffffffffffffff +ffffbe +dfc7ffffffffffff8ffeffffffffffffffffffffffffffffff9fffffffffffffffffffff +ff9fc7ffffffffffff8ffeffffffffffffffffffffffffffffff9fffffffffffffffffff +ffffbe +df3ffffffffffffff3fdffffffffffffffffffffffffffffffefffffffffffffffffffff +ff9f3ffffffffffffff3fdffffffffffffffffffffffffffffffefffffffffffffffffff +ffffbe +defffffffffffffffdfbfffffffffffffffffffffffffffffff3ffffffffffffffffffff +ff9efffffffffffffffdfbfffffffffffffffffffffffffffffff3ffffffffffffffffff +ffffbe +d9fffffffffffffffe77fffffffffffffffffffffffffffffffdfffffffffc00000fffff +ff99fffffffffffffffe77fffffffffffffffffffffffffffffffdfffffffffc00000fff +ffffbe +d7ffffffffffffffffbffffffffffffffffffffffffffffffffefffffffe03fffff01fff +ff97ffffffffffffffffbffffffffffffffffffffffffffffffffefffffffe03fffff01f +ffffbe +cfff8bfffff77fffffdfffffffffffffffffffffffffffffffff3fffffe1ffffffffe1ff +ff8fff8bfffff77fffffdfffffffffffffffffffffffffffffffff3fffffe1ffffffffe1 +ffffbe +cfff73ffffe7ffffffdfffffffffffffffffffffffffffffffffdffffe1ffffffffffe1f +ff8fff73ffffe7ffffffdfffffffffffffffffffffffffffffffffdffffe1ffffffffffe +1fffbe +dfff7bfffff7ffffffefffffffffffffffffffffffffffffffffe7fff1ffffffffffffe3 +ff9fff7bfffff7ffffffefffffffffffffffffffffffffffffffffe7fff1ffffffffffff +e3ffbe +dfff9e669a7773afffeffffffffffffffffffffffffffffffffffbffcffffffffffffffc +ff9fff9e669a7773afffeffffffffffffffffffffffffffffffffffbffcfffffffffffff +fcffbe +dfffe77461b66d1fffeffffffffffffffffffffffffffffffffffcffbfffffffffffffff +7f9fffe77461b66d1fffeffffffffffffffffffffffffffffffffffcffbfffffffffffff +ff7fbe +dffffb76ebb761bfffefffffffffffffffffffffffffffffffffff7e7fffffffffffffff +9f9ffffb76ebb761bfffefffffffffffffffffffffffffffffffffff7e7fffffffffffff +ff9fbe +cfff7b76ebb76fbfffdfffffffffffffffffffffffffffffffffffbdff17ffffffffffff +ef8fff7b76ebb76fbfffdfffffffffffffffffffffffffffffffffffbdff17ffffffffff +ffefbe +cfff3b6269b76dbfffdfffffffffffffffffffffffffffffffffffcbfee7ffffffffffff +f78fff3b6269b76dbfffdfffffffffffffffffffffffffffffffffffcbfee7ffffffffff +fff7be +d7ff47969a62331fffbffffffffffffffffffffffffffffffffffffbfdf7ffffffffffff +f797ff47969a62331fffbffffffffffffffffffffffffffffffffffffbfdf7ffffffffff +fff7be +d9fffffefbfffffffe7ffffffffffffffffffffffffffffffffffff7fdff8e9c19a5f3af +fb99fffffefbfffffffe7ffffffffffffffffffffffffffffffffffff7fdff8e9c19a5f3 +affbbe +defffffefbfffffffdfffffffffffffffffffffffffffffffffffff7fdff746b5d12ed1f +fb9efffffefbfffffffdfffffffffffffffffffffffffffffffffffff7fdff746b5d12ed +1ffbbe +df3ffffc71fffffff3fffffffffffffffffffffffffffffffffffff7fdff76e9ddb6e1bf +fb9f3ffffc71fffffff3fffffffffffffffffffffffffffffffffffff7fdff76e9ddb6e1 +bffbbe +dfc7ffffffffffff8ffffffffffffffffffffffffffffffffffffff7fdf776ee5db6efbf +fb9fc7ffffffffffff8ffffffffffffffffffffffffffffffffffffff7fdf776ee5db6ef +bffbbe +dff87ffffffffff87ffffffffffffffffffffffffffffffffffffffbfeef76eb58b6edbf +f79ff87ffffffffff87ffffffffffffffffffffffffffffffffffffffbfeef76eb58b6ed +bff7be +dfff87ffffffff87fffffffffffffffffffffffffffffffffffffffbff1f8c40e512731f +f79fff87ffffffff87fffffffffffffffffffffffffffffffffffffffbff1f8c40e51273 +1ff7be +dffff80fffffc07ffffffffffffffffffffffffffffffffffffffffdffffffffffffffff +ef9ffff80fffffc07ffffffffffffffffffffffffffffffffffffffffdffffffffffffff +ffefbe +dffffff000003ffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff +9f9ffffff000003ffffffffffffffffffffffffffffffffffffffffffe7fffffffffffff +ff9fbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffff +7f9fffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffff +ff7fbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffc +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffcfffffffffffff +fcffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffff1ffffffffffffe3 +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffff1ffffffffffff +e3ffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffe1f +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffe +1fffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffe1ff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffe1 +ffffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03fffff01fff +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03fffff01f +ffffbe +dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000fffff +ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000fff +ffffbe +dffffffffffffffffff8bfc03fff18f9fffcf87ffcfd0ff93e7cff3f9fffffffffffffff +ff9fffffffffffffffffe0ffc03fff18f9fffcf87f93d0fff9fe7cff3f9fffffffffffff +ffffbe +dffffffffffffffffff73fdb3fffbdfdff7efdbffefbb7fdbf79ffbfdfffffffffffffff +ff9ffffffffffffffffff77fdb3fffbdfdff7efdbfdbbb7ffdff79ffbfdfffffffffffff +ffffbe +dfffffffffffffffffef7ffb7fff7bfbfffdfbbffdfb77fb7e73ff7fbfffffffffffffff +ff9fffffffffffffffffefbffb7fff7bfbfffdfbbfb7b77ffbfe73ff7fbfffffffffffff +ffffbe +dfffffffffffffffffdff7f74e7f78ba48f1fb8dcd3774db7eb33c73bfffffffffffffff +ff9fffffffffffffffffefb7f74e7f78ba48f1fb8db7771bca7eb33c73bfffffffffffff +ffffbe +dfffffffffffffffffdffff72d7f02b962edf86dbcb70edb7eaadb6bbfffffffffffffff +ff9fffffffffffffffffefbff72d7f02b962edf86db770dbb97eaadb6bbfffffffffffff +ffffbe +dfffffffffffffffffdffff76b7f7abb6eddfbedddb77edb7ea9d75bbfffffffffffffff +ff9fffffffffffffffffefbff76b7f7abb6eddfbedb777dbdb7ea9d75bbfffffffffffff +ffffbe +dfffffffffffffffffdffff768ff7ab76ed9fbdbedaf7db6fe99d6477fffffffffffffff +ff9fffffffffffffffffef7ff768ff7ab76ed9fbdb6ef7b7eb7e99d6477fffffffffffff +ffffbe +dfffffffffffffffffef7feedb7ef676ddd3f7db6b6efdb6fdb5b4db7fffffffffffffff +ff9fffffffffffffffffdeffeedb7ef676ddd3f7db6eefb766fdb5b4db7fffffffffffff +ffffbe +dffffffffffffffffff0efc6c8fc62f9dcc9e3c11b1c7c1278a272473fffffffffffffff +ff9fffffffffffffffff81efc6c8fc62f9dcc9e3c125c7831678a272473fffffffffffff +ffffbe +dffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffffff5ffffffffffffffffffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffffff5ffffffffffffffffffffffffffffffffffffffff +ffffbe +dffffffffffffffffffffffffffff3ffffffffffffffffffffffffffffffffffffffffff +ff9ffffffffffffffffffffffffffff3ffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbe +c00000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00003e +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffe + + +showpage + +% stop using temporary dictionary +end + +% restore original state +origstate restore + +%%Trailer diff --git a/lib/cosEvent/doc/src/fascicules.xml b/lib/cosEvent/doc/src/fascicules.xml new file mode 100644 index 0000000000..0678195e07 --- /dev/null +++ b/lib/cosEvent/doc/src/fascicules.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE fascicules SYSTEM "fascicules.dtd"> + +<fascicules> + <fascicule file="part" href="part_frame.html" entry="no"> + User's Guide + </fascicule> + <fascicule file="ref_man" href="ref_man_frame.html" entry="yes"> + Reference Manual + </fascicule> + <fascicule file="part_notes" href="part_notes_frame.html" entry="no"> + Release Notes + </fascicule> + <fascicule file="" href="../../../../doc/print.html" entry="no"> + Off-Print + </fascicule> +</fascicules> + diff --git a/lib/cosEvent/doc/src/make.dep b/lib/cosEvent/doc/src/make.dep new file mode 100644 index 0000000000..b8a95c2d58 --- /dev/null +++ b/lib/cosEvent/doc/src/make.dep @@ -0,0 +1,34 @@ +# ---------------------------------------------------- +# >>>> Do not edit this file <<<< +# This file was automaticly generated by +# /home/otp/bin/docdepend +# ---------------------------------------------------- + + +# ---------------------------------------------------- +# TeX files that the DVI file depend on +# ---------------------------------------------------- + +book.dvi: CosEventChannelAdmin.tex CosEventChannelAdmin_ConsumerAdmin.tex \ + CosEventChannelAdmin_EventChannel.tex CosEventChannelAdmin_ProxyPullConsumer.tex \ + CosEventChannelAdmin_ProxyPullSupplier.tex \ + CosEventChannelAdmin_ProxyPushConsumer.tex \ + CosEventChannelAdmin_ProxyPushSupplier.tex \ + CosEventChannelAdmin_SupplierAdmin.tex book.tex \ + ch_contents.tex ch_event_service.tex ch_introduction.tex \ + cosEventApp.tex part.tex ref_man.tex + +# ---------------------------------------------------- +# Source inlined when transforming from source to LaTeX +# ---------------------------------------------------- + +CosEventChannelAdmin.tex: ../../src/CosEventChannelAdmin.idl + +book.tex: ref_man.xml + +# ---------------------------------------------------- +# Pictures that the DVI file depend on +# ---------------------------------------------------- + +book.dvi: e_s_components.ps e_s_models.ps + diff --git a/lib/cosEvent/doc/src/notes.gif b/lib/cosEvent/doc/src/notes.gif Binary files differnew file mode 100644 index 0000000000..e000cca26a --- /dev/null +++ b/lib/cosEvent/doc/src/notes.gif diff --git a/lib/cosEvent/doc/src/notes.xml b/lib/cosEvent/doc/src/notes.xml new file mode 100644 index 0000000000..afd1247b42 --- /dev/null +++ b/lib/cosEvent/doc/src/notes.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>1999</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>cosEvent Release Notes</title> + <prepared>Niclas Eklund</prepared> + <responsible>Niclas Eklund</responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date>99-02-12</date> + <rev>A</rev> + <file>notes.xml</file> + </header> + + <section> + <title>cosEvent 2.1.7</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p> + The documentation is now built with open source tools (xsltproc and fop) + that exists on most platforms. One visible change is that the frames are removed.</p> + <p> + Own Id: OTP-8201 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.1.6</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p>Obsolete guards, e.g. record vs is_record, has been changed + to avoid compiler warnings.</p> + <p>Own id: OTP-7987</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.1.5</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p>Updated file headers.</p> + <p>Own id: OTP-7837</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.1.4</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p>Documentation source included in open source releases.</p> + <p>Own id: OTP-7595</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.1.3</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p>Updated file headers.</p> + <p>Own id: OTP-7011</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.1.2</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p>The documentation source has been converted from SGML to XML.</p> + <p>Own id: OTP-6754</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.1.1</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p>Minor Makefile changes.</p> + <p>Own id: OTP-6701</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.1</title> + + <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p>The stub/skeleton-files generated by IC have been improved, + i.e., depending on the IDL-files, reduced the size of the + erl- and beam-files and decreased dependencies off Orber's + Interface Repository. It is necessary to re-compile all IDL-files + and use COS-applications, including Orber, compiled with + IC-4.2.</p> + <p>Own id: OTP-4576</p> + </item> + </list> + </section> + </section> + + <section> + <title>cosEvent 2.0</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>This version is a completely new version of the cosEvent + application; older versions was <em>not</em> compliant with the OMG + specification. The <c><![CDATA[look and feel]]></c> have been changed + to be more uniform with the other COS-services.</p> + </item> + </list> + </section> + </section> +</chapter> + diff --git a/lib/cosEvent/doc/src/part.xml b/lib/cosEvent/doc/src/part.xml new file mode 100644 index 0000000000..a17821cadc --- /dev/null +++ b/lib/cosEvent/doc/src/part.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE part SYSTEM "part.dtd"> + +<part xmlns:xi="http://www.w3.org/2001/XInclude"> + <header> + <copyright> + <year>1999</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>cosEvent User's Guide</title> + <prepared></prepared> + <docno></docno> + <date>1998-04-26</date> + <rev>1.0</rev> + <file>part.xml</file> + </header> + <description> + <p>The <em>cosEvent</em> application is an Erlang implementation of a + CORBA Service CosEvent.</p> + </description> + <xi:include href="ch_contents.xml"/> + <xi:include href="ch_introduction.xml"/> + <xi:include href="ch_event_service.xml"/> +</part> + diff --git a/lib/cosEvent/doc/src/part_notes.xml b/lib/cosEvent/doc/src/part_notes.xml new file mode 100644 index 0000000000..92324ce227 --- /dev/null +++ b/lib/cosEvent/doc/src/part_notes.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE part SYSTEM "part.dtd"> + +<part xmlns:xi="http://www.w3.org/2001/XInclude"> + <header> + <copyright> + <year>1999</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>cosEvent Release Notes</title> + <prepared></prepared> + <docno></docno> + <date>1999-04-20</date> + <rev>1.0</rev> + <file>part_notes.xml</file> + </header> + <description> + <p>The cosEvent Application is an Erlang implementation of a CORBA Service + CosEvent.</p> + </description> + <xi:include href="notes.xml"/> +</part> + diff --git a/lib/cosEvent/doc/src/ref_man.gif b/lib/cosEvent/doc/src/ref_man.gif Binary files differnew file mode 100644 index 0000000000..b13c4efd53 --- /dev/null +++ b/lib/cosEvent/doc/src/ref_man.gif diff --git a/lib/cosEvent/doc/src/ref_man.xml b/lib/cosEvent/doc/src/ref_man.xml new file mode 100644 index 0000000000..7088c2ef92 --- /dev/null +++ b/lib/cosEvent/doc/src/ref_man.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE application SYSTEM "application.dtd"> + +<application xmlns:xi="http://www.w3.org/2001/XInclude"> + <header> + <copyright> + <year>1999</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>cosEvent Reference Manual</title> + <prepared></prepared> + <docno></docno> + <date>1998-05-05</date> + <rev>2.0</rev> + <file>ref_man.xml</file> + </header> + <description> + <p>The <em>cosEvent</em> application is an Erlang implementation of + a CORBA Service CosEvent.</p> + </description> + <xi:include href="cosEventApp.xml"/> + <xi:include href="CosEventChannelAdmin.xml"/> + <xi:include href="CosEventChannelAdmin_ConsumerAdmin.xml"/> + <xi:include href="CosEventChannelAdmin_SupplierAdmin.xml"/> + <xi:include href="CosEventChannelAdmin_EventChannel.xml"/> + <xi:include href="CosEventChannelAdmin_ProxyPullConsumer.xml"/> + <xi:include href="CosEventChannelAdmin_ProxyPushConsumer.xml"/> + <xi:include href="CosEventChannelAdmin_ProxyPullSupplier.xml"/> + <xi:include href="CosEventChannelAdmin_ProxyPushSupplier.xml"/> +</application> + diff --git a/lib/cosEvent/doc/src/summary.html.src b/lib/cosEvent/doc/src/summary.html.src new file mode 100644 index 0000000000..6196223480 --- /dev/null +++ b/lib/cosEvent/doc/src/summary.html.src @@ -0,0 +1 @@ +Orber OMG Event Service
\ No newline at end of file diff --git a/lib/cosEvent/doc/src/user_guide.gif b/lib/cosEvent/doc/src/user_guide.gif Binary files differnew file mode 100644 index 0000000000..e6275a803d --- /dev/null +++ b/lib/cosEvent/doc/src/user_guide.gif |