From 905b7c31f52a72f55196ee17dc86b90b55a1e08e Mon Sep 17 00:00:00 2001
From: Jason Hu Each feature of the Tizen API Demo application is briefly
- presented in the following paragraphs. Accelerometer API can access accelerometer sensor values and
- functionalities are provided via deviceapis.accelerometer interface. Application can subscribe to accelerometer device to receive
- notifications about device acceleration changes. X,Y and Z Axis values are show in the middle and when you can
- click and drag with mouse, those value will change concurrently. Also, we can click the "Shake" button to simulate the device is
- shaken along the X axis. This example simulates a device orientation change event. Switch between portrait and landscape icon from the Device
- panel, as you can see, the platform screen is rotated accordingly. Geographical data can be configured from the "Geo Location"
- panel and web simulator will pass the geo location data to the
- application. As shown in the video, we change the value of Latitude from the
- "Geo Location" panel and the map in the panel is updated instantly for
- reference. Then click the "Update Map" button in our application, the
- map in the center is updated accordingly with correct geographical
- data, just like the map on the Geo Location panel. The example shows the emulated camera window for the device.
- Click capture to take a picture or use "Record Start" and "Record
- Stop" to record video. This example demonstrates a few device notification mechanisms
- provided by WAC 2.0 DeviceInteraction API. As shown in the "Device &
- Network Setting", you can turn on/off device vibrator and backlight
- and adjust audio volume. If backlight is off, the whole device is dimmed to simulate this
- effect. One of the most prominent case of DeviceInteraction module is to
- test startNotify. If the device volume is above 0, a device beeper is
- played when startNotify is invoked. If the device volume is set to 0
- and vibrator is active, then the device will render a shake-like
- movement. If the vibrator is also off, backlight will be switched on
- for a specified duration. This example demonstrates the usage of pim.contact API. Start by
- getting an Address Book and you can add/update/delete/find contacts in
- that Address Book. Filesystem example showcases the capability of Filesystem API.
- You can traverse the file system hierarchy by clicking through the
- folders or back button. You can also execute copy/paste/delete
- operations by clicking corresponding buttons. In addition, a simple
- editor is provided for you to create/edit text files. The Tizen Web Simulator runs on the Google Chrome browser.
- To use the Tizen Web Simulator you must first download and install Google Chrome on your development platform:
- http://www.google.com/chrome/
- The web simulator Eclipse plugin is an Eclipse launch configuration type. You can launch
- it by doing one of the following: When started, the simulator loads the file specified in the "Content" field of the config.xml file.
- This is usually index.html. The simulator renders your application using the Chrome/Webkit backend. All of the same development
- features of Chrome are available in the simulator, including Web Inspector (press F12 to access). The advantages of using the Tizen Simulator include:
- Introduction of Tizen API Demo Application
- Accelerometer
- Device Orientation
- Device APIs
- This page shows the result of deviceapis.listAvailableFeatures() and
- deviceapis.listActivatedFeatures().
-
- Geo Positioning
- Camera
-
- Device Interaction
- Contact
- Filesystem
-
- Debugging with the Tizen Simulator
- More to come...
-
-
\ No newline at end of file
diff --git a/org.tizen.web.simulator.help/html/design.html b/org.tizen.web.simulator.help/html/design.html
deleted file mode 100644
index 288b28f..0000000
--- a/org.tizen.web.simulator.help/html/design.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- Tizen Web Simulator Design
- More to come...
-
-
diff --git a/org.tizen.web.simulator.help/html/gettingstarted/TizenAPI.html b/org.tizen.web.simulator.help/html/gettingstarted/TizenAPI.html
deleted file mode 100644
index eb1bc07..0000000
--- a/org.tizen.web.simulator.help/html/gettingstarted/TizenAPI.html
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
- Tizen API Coverage
- Below is a summary of the Tizen APIs supported in this release. Some APIs are supported
- with a Javascript backend and others are provided by Google Chrome.
- Supported Tizen APIs
- The following APIs are implemented by the simulator in JavaScript.
-
-
- Non-supported Tizen APIs
- The following APIs are not supported by the current version of the simulator. Support for these APIs
- is under development.
-
-
-
- W3C/HTML5 Specifications
- Widget
-
-
- Content (documents, graphics, multimedia)
-
-
- CSS3
-
-
- Device/OS Integration
-
-
- Network & Communication
-
-
- Storage
-
-
- Performance
-
-
-
-
diff --git a/org.tizen.web.simulator.help/html/gettingstarted/configandstartup.html b/org.tizen.web.simulator.help/html/gettingstarted/configandstartup.html
deleted file mode 100644
index a00e0f6..0000000
--- a/org.tizen.web.simulator.help/html/gettingstarted/configandstartup.html
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-Getting started with the Tizen Web Simulator
-
- Install Google Chrome
- Configure Simulator Preferences
- The Tizen SDK attempts to discover the location of Google Chrome on your system. You may need to set the
- location manually in the Preferences. For details, see Simulator Preferences.
-
- Launch your application in the Simulator
-
-
-
-
-
-
-
When the simulator is started from the Tizen IDE, the path to - your application's main content file is loaded into the - application address bar. You can change which file or project - is being run by editing this field.
- -Each panel can be opened or closed by clicking the small - arrow on the left side of the panel bar.
-Each panel can be moved and reordered by dragging the drag area - on the right side of the panel bar.
-Each panel can be showed or hid by clicking the panel-setting button - on the right side of the application address bar.
- -
-
-
In this panel you can change the target device you are - emulating. The drop down box on the top shows current device's - resolution and all four device resolutions supported by the Tizen - emulator are also supported by the simulator. - In addition, you can switch its orientation between - portrait mode and landscape mode. If your application has - subscribed to this event, it should receive the event and - the subscribed callback is invoked.
-
-
-
The platform API panel allows you to select which platform you are on. - Currently, only the Tizen API is supported.
-
-
-
The System Summary panel provides a summary of system - configuration settings, what device you are simulating, and - other notes that are of interest in the emulated environment.
-
-
-
The accelerometer panel allows you to click and drag with your - mouse to manipulate the physical position of the device. - Accelerometer events are sent into the running application, allowing - you to debug accelerometer change events. A "Shake" button - simulates a back and forth movement along the X axis.
- -
-
-
The messaging panel enables sending and receiving email, SMS, - and MMS types of messages.
-SENDING
-This section can be used to test if the application can handle incoming - messages properly. For example, an application can use the following Tizen API - to receive an email message: - -
tizen.messaged.getMessageService (messaging.email,
- successCallback, errorCallback)
Sending a message with email type from the panel should be - received by the application.
-You can compose a new message by providing a - sender's address, message type, and message content. After clicking the - "Send" button, the application should receive the new message. A default "From" - is given to all sent messages.
- -NOTE: To simulate the 'sync' scenario, as described in the Tizen Web API documentation, - email messages sent to an application are intentionally withheld - until the application invokes 'sync' or 'syncFolders' (INBOX) from the - email messagingService's MessageStorage.
-SMS and MMS messages are kept synchronized all the time. When an - application starts, all folders are synchronized.
- -RECEIVING
-Messages sent from the application will be received and listed in - the Receiving area of the panel.
- -Recipients: The recipients field shows all recipients from the application sending - the message. Multiple recipients are separated by ",". The message field shows message - contents sent from the applications.
-
-
-
-
The Geo Location panel enables your application to debug APIs - to retrieve geographical data from the device. The panel - provides an input interface to configure the geographical data - being sent from the device. Additionally, a map is shown in - response to the change of the data so that you can correlate - geo location data with a real map.
-
-
-
The Time Zone panel displays a timezone which can be - manipulated for an application to test Time APIs.
- -You can change current time locale by selecting a different option.
-
-
-
The Feature Configuration panel displays a graphical - representation of the config.xml file.
- -
-
-
Tizen SystemInfo provides various APIs to retrieve device and - networking information. This panel allows you to specify - device status and see if the application can retrieve device - status correctly from the Tizen SystemInfo API. The application can also - add listeners for system status change notifications.
-In the "Config" section, you can turn on/off vibrator and lock/unlock - the screen. If something is required, the CPU load can also be manually specified.
-In the "CPU" section, you can manually specify the CPU load.
-In the "Storage" section, the default setting of the STORAGE mode is "INTERNAL".
-In the "Display" section, it shows some information about device status, such as 'Resolution', - 'DPI', and 'Physical width/height'. In addition, the brightness can also be set according to your - preference.
-In the "Device" section, more information about device, sunch as 'IMEI', 'Version'.
-In the "Network", "WiFi Network", "Cellurlar Network", and "Ethernet Network" sections, you - can select various network parameter and settings.
-In the "SIM" section, you can also set 'SIM' informations.
- - -
-
-
The sensors panel provides three slide bars to configure the ambient magnetic field in X, Y and Z.
- -
-
-
The Call panel provides a control panel for simulating sending and - receiving calls. These calls can be tracked by CallHistory related - methods using the Tizen Call APIs.
-You can make a call from "LOCAL PARTY"(simulator) to "REMOTE PARTY" - or accept/reject a call placed by the "REMOTE PARTY". They can also - pick a reason to simulate a failed call from the "Reason" drop down - menu.
-When you clicks "End", the "call" functionality will be closed.
-
-
-
The Battery panel allows you to test an application that - uses the battery API.
-- "Total time" shows either the time (in minutes) needed to charge the - battery from empty to full capacity (if "Is Charging" is checked), or - the time until the battery will be empty (if "Is Charging" is not checked).
-- "Battery Level" and "Remaining Power" indicates the remaining battery capacity (with percentage - and in minutes, respectively). For example, if the total time is set into '600 minutes', it means - that the simulator will take 600 minutes to fully charge the battery from empty to fill. Currently, - it has been charged to 75.42% capacity and has been charged for 452.52 minutes.
- -
-
-
The Application panel provides control of install/uninstall/update methods and a list of the applications - in the simulator.
-
-
-
The NFC Adapter panel allows you to turn power on/off and poll NFC adapter. It also - enables sending and receiving NFC tag/peer data.
-Power
-Turn on/off power.
-Polling
-Turn on/off polling.
-NFC data sending and receiving
-At first, select Tag or Peer to attach to, then you can set up more detailed data and the click "Attach"/"Detach" - button to attach or detach.
-
-
-
The Power Manager panel provides a control and display panel for power resource states.
-The RESOURCES section shows the current resource states, according to resource property values - (CPU.load, DISPLAY.brightness).
-CPU and Display state ranges define, as follows:
- CPU.load [0, 1]
- Low[0, 0.5],
- High (0.5, 1]
- Display.brightness [0, 1]
- Off [0, 0],
- Dim (0, 0.5],
- Normal (0.5, 0.7],
- Bright (0.7, 1]
Power Management Rules defines power management rules and developers can change these rules.If the state - rule is "Allow", requesting for this state is granted in an application. Or, if the state rule is "Deny", - requesting for this state is not granted in an application.
-The Tizen Web Simulator provides a few configuration options, set in - the Preferences dialog (from the top-menu, select Window, Preferences). - Select Tizen SDK, Web, Simulator in the left pane.
- -Enter the full path to the Google Chrome program. When first started, the Tizen SDK will attempt to discover the location. However, it may - be necessary to enter or modify this value manually.
-In Linux the path is often /opt/google/chrome/google-chrome.
- In Windows the path is often C:\Users\<user name>\AppData\Local\Google\Chrome\Application\chrome.exe.
--allow-access-from-files | Allow the simulator Javascript - APIs to access files on the disk (such as config.xml and the application icon). | |
--disable-web-security | Allow the simulator to do cross - domain requests (such as access map location on another server). |
Enter the full directory path for the simulator to store user preferences and web application data.
- -NOTE: Instead of using default value for this parameter, it is HIGHLY recommended that Linux users specify this parameter, since the total length of the directory path in Linux is very limited for this parameter. Possible consequence for using default value is only one application being able to be launched at the same time.
-There is no such restriction in Windows version.
- -Set whether to use the default version of the simulator or another, custom version.
- Internal: Use the simulator that is part of the Tizen SDK- The Tizen Simulator runs on the Google Chrome or Chromium browser. To - use the Tizen Simulator you must first download and install Google - Chrome on your development platform: http://www.google.com/chrome/ - - 1. Use in Eclipse 2. Use as stand-alone -
After you install Google Chrome (download from - www.google.com/chrome/) and Web Simulator to your local host, you can - launch it and see how it works.
- NOTE : Since Chrome doesn't allow new windows bringing its own - startup options after chrome starts, be sure to close all Chrome - instances and start Chrome manually. There a few command line switches - that must be included to grant Web Simulator local file access and to - achieve optimized visual effects. They are -open <Path to Chrome.app> --args - --allow-file-access-from-files --disable-web-security - --start-maximized --app=<uri to Web Simulator> - [--user-data-dir=<path to user data directory>]
-tizen$ open /Applications/Google\ Chrome.app --args --allow-file-access-from-files --disable-web-security --start-maximized --app=file:///Users/tizen/Desktop/web/index.html --user-data-dir=/Users/tizen/simulator-profile-data/-
<path to chrome.exe> --allow-file-access-from-files - --disable-web-security --start-maximized --app=<uri to Web - Simulator> [--user-data-dir=<path to user data directory>]
-C:\>C:\app\Google\Chrome\Application\chrome.exe --allow-file-access-from-files --disable-web-security --start-maximized --app=file:///C://tizen/web/index.html --user-data-dir=C://tizen/simulator-profile-data/- -
$ <path to google-chrome> --allow-file-access-from-files - --disable-web-security --start-maximized --app=<uri to Web - Simulator> [--user-data-dir=<path to user data directory>]
-$ google-chrome --allow-file-access-from-files --disable-web-security --start-maximized --app=file:///home/tizen/web/index.html --user-data-dir=/home/tizen/simulator-profile-data/-
aqAHwbZD|LnQU_X#Bo`GusJ;K-L@fhiwTM%Xv1okDoiyYo ztn~{>Va@%W*&Kr)x9|g$(HbN86zLb6?EfOm8ZDA3fD>vVKBY27IkW zqF0R3w~C|tGUbn%bfUhn=AX7 9!?9TMlWTKZxb`&C6H{ua;N@HiV{iHe2d@(Oyva}#1CAc>4^zD9C8+e>hy*S zmI+Ibgaqc`G(mWF>yoPPDBl%cORF%w;x8ox;Ss(Uak;YjF3&{bHv2Kw4yVe!@O(b_ zo;P}u5i9W{-xmQ1lQKkR(Hn=%<+*{}^nU(_NUtEc$>0Abn1k8KGzxRddD1_+vLAng zm*B9namb(-;BbzRxePTWhsJ-XBNbLSd1d>d0;Ev36a}2$Xyyr-Q&W)PKD4!_erfT` zq5gesy=6rF=l?55Vm!`m=bB~3Z*ve}nxhDZhc7atF-aB^vn0BMi4X}BKjEX+PQG+q zuknv claZk3JA=OH`R^+wE=3i$v zlyMvh|C{hn47PnV+$}AdWJtUF8*uvCvexKrN2*ou*Ju?ne`4XSd<=m`wXZK(d_^YQ zpuUW*8Tr3$DM(7GaYut^w{lqxzRgK435(#D6F`0wTl{CVdFZS#sfZ2x+Sr!6|M$Tq z5ezFglv{}h^U-5eFH?U>8f&fr2=z34`47;l?+yq6uoIRXM-wP)|Ixjn T92puP$`F41M;MqPcyp=tAi6!t?R_>UWUYmm-0Gak-%a#xk2~Ic ?3Upb8RfZ!%?WuJuCDzj8FE()BIH)sTY4h7$AYev z=)w7^^Kmk5Y$qojE0&$Q|BMTVfw&OEkPs+yDi^gHmkUg%mt?%F5Qo_odOp(=s~`bm zVs2h6B`$6&`X41H;Dt@#wX=W4fq$Jkt1LU;hJnFPdj7uve}DFGPox2F-~as{=Ks-= zHwu8X1xL1lppfD?J#{PZ)9q(&+A^KPYaN|sOU1zc_UJjaz+qLHw89J(;BcYwZ!2m% zQ(v{u+}OxmpIV2MG$p7FuOfi*k86taz3Vy)^K;(x!-)!MJNuBb9l3$ZbKZ2i(tMZ> zL{MUWQTJ|Hz65%|^7|MC>i`WETyyoNJY}O~#XBB84fPG!+2GcbF14IRir X?&;q%A?o %h^kwXDB1yUw(WLU&goW#iM>ex5m-BLu z^ZwZ&gr C#_~5#tUmH h zGHQ69k7Ak_Kkl@@oU6yLEcV=KNFzR{Tf2aC>-ILHWmqZ$(*-WvNDt(0s1h_YVfZcE zM@t+w?Q>mlcl!gaix (0SJw;(6KVT0Iyt&tba(SoP0x!D9On)o8su6GYgHLh zF75vsRg;xzgCztn<$@RXEl|W78bf1z GeBkbyA51PSg&ob2Ym)I%}VFaHQ zwe$M5#1kmqRGs}9e%N@rks}{g^o`COBbWaQC2wMt2yk6XmeXI;r)z)?R+Lp3Aqs?G zr3B5R7?=jS+&bciBXBOt35Ip=gyJ>g7YEAs3#V#nf3dO2t*y-vZN@6cKu<&9B#l}b zM|Z;o-4+8Dx(HXtoBFC%$eiy;MBWGM4+P)5$x})nx(S;p07dP`q}b+)sXh} }dogCUFEa9H@&pkS^2*Vs$7jWL!;${W@BSz)2UiorWB*xq$mvC!5e7Vi$ z>6(!v-{^8{c~8F@uBn}l)Od8(=AOPwY%7qiWzb78dAzt2i7Q<>%)J;P8cW~%eIv>E zVOYzR;&QTbIB@CMNWDHOb;+t+0L64O;ghbBvhI)Y>Vj`|RJ=^+ISGX`-JO<5P#k(p zspF@W<;Q*=pA`>MKQ+tq1mZ*gZ|^A+aV!}^xDwLo-l=HG&kz01e>bD1o>~FIQ6~|% z3OI@ShDnUb9AS~SM?6WvV2x`3ZU 8Me?e&P7quDqd0l zBKRcwVbz@B$9MdDPig$Fm6IJv?TV|OCnST7a6D*(uhrK2>nCEGO@)sq4(sQ(^v72* z<=FlMyhCJOS~sTT#g`FCs(Q<%SG!1Qg`SQSC7$uu^IdjVXkW-R!@Zo|u8k3sdg_OJ z+XMv%!@5I6^P$ +J_*yntubQh?Vk z%*sooZNgLoA`%5ut1nL~NA;JvoNq8|{t*31)7VUtrGBo_{}YJ+Tfp|O^Tda$=sYT_ zdWxzSt1fJ09wPF$OR?p5C_Q@x7wh)!DD E7-L_xbg?R`&c!Qx+#X zoMmwNvCXZ@%%U&5mD) v5;dSnPIsjBIdS{p(ytk0_{`43_*fkf_Uq zy$Z!of`4mk>+@~Bqk%;g%VB jm z4gwhst*{?-L&K?Cev!8?1P*WYZItgAtjiu)B1`O_H5}}I+5vF6b=qEvgyG~Jk8o_i z#SN47ya2KocBX!F^e?nb<5?0C1`^-!omojj4phxnV>|@W>qn9=HYG-#tG1RT?+6(e zx=5PUDh*x_p)Fv>z_ByG!UrO}&mpE-%`!|;Mhgid`}FZN@w(PGjT(m<5ySPFyP-_K zS3>c>vAm49#t9F4a}?&_=~(Zcyc$F}mPe?on^EK5gpBx$2Iiv6CH4y3WvH0?(@aww z)+^<(%B7^Z=%=L%w?xP3nk`}zH7Ru(L>;1`rPjNj;KBZK?KGxy@f#KT>jh=;PuU3P z|D%`ljB0A@)-Xjxj&u<81A-J0q=XU?5{gGUQjSU$gg~g$K}Z55NJpvx1tK7VVni@t zDAJ3R1c4|;YG?vd19Cumx!Zfcb8Z>m9rxe;xyN2(kG;p5>s@orJ>MrB(!3`%BVzeP z{++WPND-AR#s_C?`hEuICVJMle^aTn1Em2vG|dxUUy+ zpDA{TawQqiQ@*&DiT!b(;WVcoM{1LzrjcPthoRbA^6&-Da4+Mop)g06&WUuD5!y%E z##;An!x_2rh8(!_CXAk(MD)Wyi!}$f2qu)qIff;tF`?@IAx)Fe Sc;r-J_D;on&*p0raF{7`d4S^2xRJai{n9;>C3fUD`4;INKTp?*#*8Ig zZ>a|JZ9&XMLd1^Lc5n^~c@+81^(91mPx7FD;NU#{SW&4=y{}-5SXYK$d 3 KZd95SZ zNWm^o!5iZQon;6p3=4Y=^)Kl*-*{vt&Q~$sj^n->JgZ_e?tFQuN!59l*;c$h^)WD6 zKqTGb#(VZ(kMv_HZX8F=PfMe_Pf|o=1zVUz>mBU78g=T?*xtJi7qYt(zn0VtGss=C zD5FI8NpqyEBZ`TxXoqLf di4-1F1-gj$x7#`|NE0oMQ{!Fee0O z8VQHQ=ISyl 0-@U<7k=|3xvssL(XNEF>(TEIvHtjIJB)FJ)$UoRvjL3_qJ~ zF!XKG-lV4DJBeEmC#0gG!QL{?3jJyB+I)_eC)|vy;Q8F{8F3nm+2s&ReHZ wYJh?{b|-;LqEF z$=vxPR(FPzN{W*BFt?&Ax! 5${3^I{RqS>B^mZI*ME>(x+= #^8@xvsqpMZ5m`D{I=V_)sI;=Xb zb|}Q~6#;f#w9`1_?T1b-8651ZN$GY+!jrUHbvrCJ1DV~+^0G2&Vae5 gUsggXt zwi`~j7+LgUZIXph)apwpYkou?dz+15morzYtjIvQlcagjem{do-;HvXs6GehKJKD> z?>7(H+fH3;_gC!z+^VlS2J{rqUt-J_Bqo)T1vrEHPwA{9apPdPL2Aeko 9S_Vk?PE(U#FRj=f2ajE^IW`^_7 zPm4d-!oCJ6v VLeY*+li9w!0JBG$|f9 zKtrpT1%^Oadc?uVLo$uhD}f9|gl2EYy{io7%6Q%Y-ud?G{hY1hL+_iaaJ*V-tgQfC z4TGJiS_|V?$R+j}YVfvCooe+zt98&m5uz;*Gv{Wn3wRbn)4G- ^q z$pcThkbcgN$i#E?$1VAjVHuWal_L+6eZPKnK9QA;YqoEaDyQo`RN?R)-^;u!MIU58 znWY)^e{c6~L^T5Eev{YKlRstAp>MmZ#{ONASLj6mk!5mnHdhVQ>c`sV3%nj-2;YV4 zu0!zDnlgp>jvmc1GM7Qhcdo d%Td@(%|W87BJNp!$)62JGwvx7CeTWua6t z@ha?L6;GV6^u3qfBjL}kqb|#OXZa>gBM;c}6 )dNj z(m|2*ZbS05l+h;^!z2xGZ>vv^helo0_wP^nznJQ@9VGWqqLrlU#?*WHqnVijr*e8- zBoW;A)!6%07QI_UO*rEk7 Mk6Tzt@>qQ zBi&DN5 $NR{Mufxg$WEkUX{*qNF@2t?OYZzf3$zDCe{4` zZb>dj7juR1ve$TAW8 z+#Iev{RR+mreCIM-Byy~=jZpI!t6M`x3ORcoT=79i(ka3c`!2ImqblRvRXW5%MbsP z4L}uv0Dq&LU9|}dkgVHB)KK%a^8uqK)8j4|izjS=nR^yz0Gb(jj}V4FFcg#haH$vW z?l1RaZz112w#44n$cQaJ;#j@d!nlJwxIEAYF#5_UC|C`LawH}tEz#+gg0jo-`LSGR zaN;ix7x(ZlDi?5N9Q$iHeXtS8d;mAD_& oZw2UoS7{C4mgK9`Z3JzUsU$Nph-PewiZJKkCyZ-vntY{lBaMz)N$eMj5KY3tKj z;K^RO{&oboBH-Y2*NG+bTF>65!{=i1POtqA^w&nDPhXi@)K +fqpeBilf8I}FcjK683oM|KH$Yx&KNxD?Yk*f$kTf5MReYfotapg!oE;5jg;5e ze4rwFG9j7K<-FZ6>SDUuMj)%zDN?+AcpSo@NyzQ?T`wt}@9WJHl?#$54G2*mpRhAy zTpMH0wGn1SW@S8oL}>8YX1t(FiJzEl#F6L?FtWnq2t3++a@D~m@JU`l^dY7$KWoel znE7E)IUcRiFmG9{0nN#19_>oA)_k-cpEJUDfD)IE%;kNK@(0=C*(;I+l-ySl)a(n& z6{45;vG})#a>{t&L{QIVk&~E;JBUcg#? %C>Xb zixMY;etS2K8D)VFrb~xu?Pwk&*1`_SkF|783XUL+yG%>yuw5sC$4_;(_0CdF57BW5 zpR$VP6@E_=d=;|rT_d!0Yi6gRMl{gga?V5;zS?ts!K{&5aqMWi)?pJWmY>?%o_qsn zIdpVnh2{0Tr}hQiS1sBZCF?-ERQ0&DW6O@X>6bsJ+dgnwV8@>Ykw+!Kq}dYz(!8LM zOjqQ49icZ^FK5S#Fv62y?VW&C0!IT#)_InsKG#DPEAf!8*XgFz?&6oSoPcPgx%IBt zXdeh+jk^of5PTx@K*QMpC|{?mFt>y#0#iAyzSq;u*tx&wb09-4`fMW1O2Nlt9N5gu zFpuxZ*Q-4^9cT=4ommROii$R4S9;zbK^m|ghe%KHLeA}wWq4Oa)P98M%X#hPH@=5Y zf?NWuv20w!Lz~eb<&+7^E($fY`wcLWlX`kSwxx}pqOo!Ub{oHmUM_a8A 3FWU7F;Sy@_sSCNC;ofFX_5i7RBZwV zW$V})eSoZ0hTdNySe~h!|EKtw1($!YV3igBz~2k_blno5Ho&4Rd}!H{NO`9x5p{v& zKXU_crCTI;DJm-$g5&vrtz%IPd!yh`BnSwXbPra_WQ-w(t6+d0E zj?Mst;}_{HsiV*tkT>EzJw28#m-M!HE)^&g%6zid{Vq&ML}dQQOxq#wtQUoaH~a+p z60Q@cbhtEi|0!<3%`21`pzDU_`vGbVgm=n&8#y`0Ci_@!VCa7~r2dlBzkSC4LNfoV z@&ZNJzmsH&3F|6=*s$Q?!Idrcvo}h^?-W0|A}RjoIn4H`yQ6UVYtOey=XmxKCsr(B zHV<()o>+j?8XUJmp-^0R9Dyy=KwqEo>C-pZ)E=j;t?k?A2^7IoEAIK2?O4;Lyx|;* vxOkw?1AJxzg}s( UyL)hZi=6YHd#n0&-Ku`w zT@=Ndd+j~ 4P zQWT_e0{;+bd@z)j6bE^G|H ?d&` z@~Ie@Dl`eXeh{+g`#~T?IkKo!H!O*GveCkCx(U4t!}w&47S9r8b!ZX-D`^glETX}e zibQG78nRxz4&4~ &=*?qGd zHX7RMLjCqCMCd)+g^)}acmSO*CfRUsg@J)_y4<5%5#Ld03wh-{^gWmisp?Uvm!0Bd zF-3O)k}zf$vxD$Fbll4G3h~3?jVls@nMP@e+qT-z^&U7j(+jCTxxbxK5Uuw{Si~;p zkEfAZ140*-uPkskCUy0Dr%KO$dmKRM-k;E8G2-v+=Jwr7^V%L%!Oz5O*7bGio&{}Z zUy9x{!2dd)_CVT=4mCNMC~MPkIk ?;RP{&WuL*a!k;@bf}*R<+q=}GlnE$#fsw}V zuVZdLFy0_s0uxWm3wFuJiKDCIdX)SFP=_6^_Z4?;KA)iXc3fPIds(B^Y`BC+_L;8T zvU%D&jZx1Y4%_dH;h{{TMM94q!Z&`#b~M^TPMmFYINEx;;>%G`{DFu2c y@{x?j07SG@-8jqckatlix)s^rd) zAo7=L0wljT)m*xwS1nknb)~lRn&Eq0Y@ZBHYIu@nI+$K0yL}*O-9h)$F>8%8bFtb% z?rxN9cG6mX7{PNf!gUd9csN)rqMZU6(#6dQY)38b5LVh&i}PteV)4k{&{c6L5_m#p zt(15AOlamZR@YCSne*co7nd<5y;Fx{^mKP$*F)e=Fj^SK?AS)F>a|%dhVK@FnalD) zG}JPi)Ep_3T0iFcVGnHs`{#F+7)1 xa9<0rlHs#%%nkF z+ 66(wEXm(mJRX((t` z@X2}$JkRXM<=Pql8B&ShwKzSK%}HN=G@mOEf^B<5$kScmvuU(mkkasWphXrbj5! zlTi5fKGVg* T{l*%%5TcmdF2j}{ z2WSTwvcnEDjXf+0{Si)GIZm;zRQ{uNw27afjN&dCqzB~ZJFVS4 t%72yoZD$?*XD?DRvijR+*(g2Pswa)R5!BulBosEI4?e3E zB!3Q(9&Am0!1kYs;vc_qUrxYhMUEToB_X-pQ*zheYj9?rPL7p$n~xo~UmLTRn5a?S z>6A-*MwEEFd0xztjj3mZD=mr&eo7JZ;b{yyKv#k|y`%+8k4oRF(AfiTnzY`D*1~ci zy%&?CT)8=3Na5sQ3`8an7qry^;$_@>Sgc2DV{B;fGQE Ft~14nTTPqzxmN|6L=&f0ZExQM^!R`}JCiC9xx&dLSQoR}qCu0E z9B4V31pgeZ4@Az(e2>+CgSI0B!z(+3gEgx`O~^)4$iqHENHfzda?r}KrH@zalM{$( zr}v$}9_GX4<+H+vlAMhnacXZ)zBX@KeqaYH?XCxF)6WBK{%UI0+uOCl^Tv~64uw~> zAq47IZeF{bueu*9Ns!_ltN7ABG*W$4TzwcPptI5+Z<0+Pw^;RIBx s0~^P;S^LJYFZ79~oHuqn&Jfc52pSf<2hPX~$5D)} zapC*=LFdEvPUjELKMox?sSk(C#;VV;eVhKUwzib|-3q$R3)v!Evt6eZ{HmVy_BI%+ zLi%{OaCF~aM+J~>_td79+#~m2Zwa38+f(fHeA<~_dx!XtF1??VUEgj9&tUMv%xDsJ zi1uHI;BxMWO(D3qLxVv=O2^r-@b^Ypr+9=n{rWO+k0){(-8nQ)ACEq7omxX-9mOo? z@4O{5`SABk*A#Ixd(bj@aA>!hezP3sWkSEcK?-@`-(;J$R&o=W8@r@TymnfF8WV7a zX-LP4x1Khb5bBF2>fFm+kv?(lC7LX3R5JmldD*~3TyUmZcNfnvc3%UQaTD1#fOj=n zy*-3Z$gA4@G#QL)J3jPTmKx436S90_Dd`uH(xUU7abc@A3b%wAH`qbQ`h=df6R0Q7 z>QH=D#2kFX%$5LuEQ&8rQ^KSVJxCQu7OqMcU)ylWpKbKtZZ%uFTDs2%+}T(VY{U8A zUb&iIExb4gHmioRJI03tYSu69dgWzaq>0zMG&Qdq8(vx8*f&UBUQW67%+N1SF7~3h zUZ}}37h-h$1@rICzNP5yOnzE+V`)mrxZZFRQ(7)F5hr^Z%t+U6>U|Dqe>8&p)0ycb z$bxR8GXB_jF_k6O{@AA=c-b;tEEQn S9G%p?3 z=Cj5ZNd1Vlo<=bXE%gq;1-gX=r4T&Z9ZwV!0^4%vY1w`KQ*6im)0Nvkx%t;)cqSc| zql4YaUsTT;7Bu^_C2XD-POwC8&GA@Xf2?55PevjlG9EY4gS7LQ4d7hnveunvAS}+~ z=n?En;F$Obz^mLPIpcL4VXBAP%#NFGekv>=;f#(7;tqdXbB&)NWV{uo;W0_ZT^jhN zww!i@k(A1$w;luw3*yMgt?+wdC>(i}Qy(;wiz)D+*=Ew`K3!~e2~skuT$ag1T%G!^ z+5GbMau;%y$& 6;W-YzLurfs$9U@YLp0L+UWe!tZRJJNFN?}mo4!wbCKuq zo;VVfS3en)w(H^L<;wZgpIgo*qxl;gg@#TaqP=PxeWyE*xW1A@e9#Ywc71Vdryjsk zR)AyjwV&e;=#+$=FoKt!b6d25IUD2eZ!1Zh5WIS{dn8qJy&wk_r|y(l4vMKWuka*z zd|2S0JpXvxg;bsQm}@mIHrC4qrJk;MJ_q8=82Rc&HwdDWEh5vpd1V*wuz1;rV?T8{ zMc(D^kj}6^Ulzm*gu# Hn)GG+S|fbzUb zmWokgcF%eP|5=^@lq+Vdz~kj|k2EB`rei#ta*Ekd5yHns+H?R(<+!gWH78y2x|dw< zLkaFd=kg!m-g2m2YNlCpw^_sn;pgZ7K`IJuhhXnemPP-d_KVT2>>X#ZVAM$hV|_71 zLo0XFvUsRzXh_J&0x~l2ON^=V7mjgQjYB=9gOGJt^p%v9zMuyQdOdC&AJZkC7>9?4 z-*1KxRW~(Jk&}zVl8URPl1j Ta0d z##6Cp32Hc&Ja3cTtQfjN7L1CTrg^Uy+w3Uly8MS0s`Ml4@Xdi7%sF-ng9rsS2jA#4 zgKMKjJquSM-U_y-DnNCWWjW9IloUwW>Ywhn9K}0M&Apl_CA)qy-sK*s4DCRpiGnp= zE7Wee8JMU*S-#DY>OONr!GU1X($d3cy$ME0nvX2w4Yl4Y*J5yJP7)W6XHGDi0q;*~ zs`bAV+4W3M74xnMN0DbR-m4D&EfqA=cAJY^=Sx#M*M2|1lF;H^3`${1cCD(4%-Wpt zGIT}L*o^kL<4O8l9~JGF1d1XJGiO#qUho2T>jy=sKba+voawTk>2ek0^DGu^LBbm* zCjhl<`OL~`^}D}NHr@5OB$vD8%`db^b9i~+s6mKD- 8P=C2+rnX_&qWM>%)roXVqLTeTfyRBPsB zso~71Hlc8^-WB(^kDUJN^TRl=JiytO`}5C?Rc*%1o}a(MPl-O%7|XTE8$N?@ A524F;j=-a-A>D5IHF<=@oNk zI=vQ<16G4pkO}yx>x-hh;7krNAsBT_GG7dMl4i~?lZUp-u#9tiw EW~2I$3K <&&za2bG8N ziz#ZIE4iBYWU+l~Y6Rm1@!=TpUX@4X+34rQYz>TtsK~9j6 8y17wMKpb+ z6kMER;hvtJ74N6hhAudg)*f`fs3_UxOk8zB<(Kl|P_u9DKBnWag9U5N0q5rJ_VM@f zm5_LNcrqbPHMD1ZGHTlEd$c~wi;D`eS;IJ0ZHMOy=bo~9XJ^UMzwRJa7RtDL77hzb zoqqVpR>m{EG;qpB&sAWVk7{z*rg7O2Uhj=tUfGL6AL<`BrQqKm;K9Nwmxn)BKJsH& z=VR6Wk$1WJQ_j|Y{gM2wxZ3xHm~t%5mo10ga_Ip(9`?dre+q-3I?3DRHh&}keE0@3 zQ46G#inH2$83vYKH`4nN^s%&T-mZZq{H~hXp3JN?*_GR#*3OmXW!z-tbWKpF968Uy z; uE|o?Vf|Hwz z*z2p3puHFvl70?Z6m2X}Ef*sng6gP97=YGWp|P*csMi(l8vQ%b$YjtL5D=hYWK6Q* zI1mM*-Nm0j38K)`OW@8^IU>f!#ushtFLI>|62>MbEQbBiK%^olAFyG+Up@B@$;>1$ zo5+Yeass82&-!6DnZ?b^` 94HxpA6;i!GGf8--Ex|6YBpZjruD^^<$j0_C--MFi;2xWX=@H>n-rr*{pZM6A9vH z%29E|r|DvGB>R3dTlc(1z>Em;1BcSR(~G(qW$L;(ZCcNpvuN3l=KEo)IAg7IUD<8A zUFdq;VPNE2T7`3HvFW}Y#kF;M${=YX0EI;OqrAMlCqT)9lH(MS<9y8C!2$GM?N?^Lw_kqb0jt^?#IxC%Em2ZrEBV?~*5X)AAl~``=uKIw`==iR zFr)C}*!F2*Xp$cRi4!6~9~i%SoOOO0tUb zP5@t*Cw(q}D3 $9X@O8ChRn}ta z+&Q?5HQi*K{I=D>8q2uqsJO0nYVFVPGzPhF_U{X%#)r+4FC25=sQ2&f2NWCe=?B5M zpX4_m_9g9&FIhV$>Gn6`BT_LtLP-wG)LSVs4dII2S9``N=&3!JpB-pw>+m5QxT55G-n9*ikboiBOHz^R_+Wci+JvPoPv+X5+K^K%3C+II;SOU$)RO^n0k`M7<#h z&6IAwF8gATirHjNbxlhED?8HhD&gq(<=lef#L2CqLa*8|G0tzYV+aUe8tkkAT&h1V zx~z3(%80U6>Bd{N)dZs{^xKTP=d(#c>R$sNENe6?idQ MMZbpLmkMc{sQUd3~=iKn=8p{pyieSrBA|_9>sQ0~d%X>nU<{9y;wK*#kJ+{J^ zi?0k;#wXM(RO`L-FBy4< sXtx4{Wq?SX6=`3 @D} z%E#hrO%>NQ!sz`H0({2PJ&ul_ml_S3vU-(tM8INC5fs;J3qqQJ3JY9(N)l*E9e=Zd znMu~V=zRH-mC6^ruJ qC#2X9&Cml7@2zN yG6qj7+!d_#zBGxs1yD)!t zxn&(@+drV8tG%vaWbf3T2Nku3l1Z3; NKBs %jXln(tZSQj86O-2Z9&G?RcR$`1yx7A@B@mol~9lbO q$_jd-Fn;foEewN z @!2W-Jv;FC2U`kI`=X$5 zQO2|tpY}<%O>Dd%;1uNb_4Q=64NFZ;jRzLb_GGa}&+ALZtc=BP0t-e0D=1q#JCO=i zmqR9TOD4$}!hy9l!ha!|b6c7VMdRJ-TQ{BH%M++$3!Wh}Hn;r_bdg+U@7h`xo^|tP zt03{)UDw;?jJ%M6kx`$H%PIwc7|zRSE~X|XCMv6UVevY5Q6Fv+lajt?WlbE;6jdFA z{~IvdHQuNT03 gv^_x|ym{*PF~ zzqC(yJ{mvd3NzMJZr2N99v&XWNNe$`1t1-ciI0y5v|EC4i-zw>Nx^y4e-3A$^z`&- zK65E5EBCK;c+>#7A~!cSz(Z3>k@Lv<=Kd>Jq+X5uuUrxM^qfVaFGe0&@0>BK-RrZP z``sA> M+cA3D?ep?i3$lFD4jSQI42t$T0jr+K(ib+{0CMxHVXY9^K;vZ@^W%M zKCME?%DO}UlM^diIyx= j^*R(%1Uk^RDk6K>uW!pKt@u zirA%jk*80q`M%9zbSw9V0J- 3A$RcpaeLC`fNfr8q>_dv}QMyDcSk(C&dVc?|$;4En7G%YA<2Al8W|D zoW%CkrFc4STD$wkC9%Qg_tl}0#iZPib-Re(ZAT=JZLC%;(A@v`QoO<4q}iq`oSv0T zE;hB$EoACMysLQ%+eYNNSiJ4Tv%k@9RLtMxQG@dv#II)OX~ag7%2%Zn4uS8*YV+5V zNc&UCqJmx~bQ+3ABxz`M2V(xV6HD@qV7oj6#Va?93vy%!c4`>$N^AGn=9lbJ_0Da+ z74mGhU^8C6GhdBIWc-lFPmB>3wXR006pDw-K+JATKu=^K-7rj|B54%+ Ov2a1_{ThTk^-C!@^*@!OGvs%u%1iGt;7T=2`=R`pJ?$ zt`3@D|7zCa2g0X9W;EY=sz|SFxSRKI H1Owtz2;7UXStsXL(k|NZ2gm#% }rW@TP-*ts5srzkD)~MLGK1d z%B~sHs`d>f!7ZsiXe6+TF#o{(l<89X25mU9{ +0$%rdXfs zjKnW4E#=Nx98Tv;MzpCvbblk!v=2F)2G`Qk0s{l1W@H>RX9wZ}dC;LLkX$k2MkORB zq97ytR#Y$uxYzSD76f4A1rd}3nN(t8B0LUjU~Mg{To!-Ww0Q!U6WQ6>+5P?f#>R&4 z=YrmeiAoiMa^RL`fY$)JS1v7;ubV$~ynp(5I!^pgEx?megXZ#CU-N)XXUy@rS>orQ zii!&U5ejih=NgVKy;jFhV2$Y?fbY{e{p0%{$FOTTgy`t#EW6;ph&CRdYZa$iR`KYJ zLUjUbWrv_6CtF0;^IIU`R&!l}6o^Gs&1B(cpL7c;0Ha@=SDmENZ^U?OqbFczXGe;q z6$S9`ySjwr +p;2G z<8a|n)!?$aIyO*H(5qC4)&HiaB_+)tQL(&-JA>vl8On)lA^G#QjsoJ<3}BxCfo;f` zwSm_7@A+<1Q&Rxseqb-a1oQ}-nijqXKY~hNS&hxiM(ewsICWw(Gi3p2ix5) (R)N(xf?D*- 1aw)ES$6AtQQqAOYu4 z)Seb-Tbzg1xkSkY`A;M+0p%DeM1JNqpCfR mfo|d7EJ6$D{cwSl!c`VMB-aLhOL1ZhiVZ0+`Qi2jfe9(*TAIq z4!iOQc?zvB`8V)}zgG_79X?RdMZ3|_VG}7&G^O(FV3lEC&Wf5MS{6qsb9Y!0m9oI4 z y4%S$1~ZhL-+uRN$s-Jm zyda6g&x@`xs#d*(fjSs1Rd34f#S9zY9NExRwiv$ZMk9EHo6xOoRitVvZYzygGLOg9 z98*yZhPeK+>?h}s@e(n08_$8I@DW-f+pFEGP+v )p}b^!ZESRH)m zaIsH~XQ)KeVb5#{9yjXp9j!U##ztPuhdoY0`a3lwJ1&RChPfwc<;*^FPXn^iv(ebv z(a-V$r2{SJ*a{ZD5zygJ`mb!4#s~Wsw~vqzd)_~v%}`@qyd$g`m{RBPu5pBXaKY;p zyy;VC&f>9!gb|7_;Zp+zkLjZ40`p(=UzydlFyha=rjyK!6umnZuf~{$XJgC)**5qi zFTLciC3JfIEkKNdRf7tgZK;E|WTG*+jAZKj(EX0pF=fK`<0@Fl$24PdUsEKxEd^6U zfA{(7#t*2+xJH{2kPqPxcBdh7+hQt-hQy{f_{kf=U8ZtoR>vy- m5$n!&6F-@ zC-#02la|Oe)q}r0W!y9zcC;qLJEn^tQ?G*<4g-@3Hhe54QCeL^AouYx+#ZGw>nKSL ztLi!79_<0=DTU?Xw6$*Z_ENfA>LgLR_{6E$qEf9Suc$O*#h%Snn#_o!K;bV0wye3K zRxgP5b$`8vmQ(K!PGQH?b|&7f^?IPQ;@DGsikZE+Dm~_RGzV#rLpZpwt#~}l0k_9M z&!I0vSCC5e!V|gKi;GT36EXFcXv(+sT( r0&VjwD-Z?x+ 8flb;vM{dTj>JqFUJFhvRF^0yePvRjNpZ|CrZYE3c%XFn zymV4&lhd6<`puC_ev-G3&qn+z1{Q7+$*{K^h8z5IT~cNYO9@C7)CZkuP|HIXGa*>P z$7pRmg%-#S4@2;X#>|}Vt$~9gqMWK$3j#H~d{?9hQZD;K_plJMBGeG9nRV^K)iXeF zIdvovAHO8o9nWvbJ!TX5{$&tbF^QhsrI&xcd>Rd-C2@CD2}XCy-{iQ@&BFvU!jO~M zr_uj6Su71)A&WS!`X!!Ab;YsdUk1S_G|C*HQda8CCH|HfTc+KhHl>^dA^UPeilC%% zGcos8*~xj=UgPJ1>z;u92Mo_&nCAsle{y5Qq1o&xu_?JMdXqK$peyEkKwbryDw{3I zrzcF^tN;|PMXWF9@M7F7%YDb0C?7>Fluyr>? F7M%JG?4F?8tT0K#Z*srX zHi<7FEz0?%TM%M$`N-6}K+yr}>_V69&F?uqNGmd Duz-Hk zt9#s?MU5EuE@`ZFI0^vtq7dLR6^})`eXYhlj)Sz1_pq>9M$~DyFx$_pct<>9tkM z7(xMCd;8wO!QeWx$*tX8ilD>6caj0H4$X=rLV$=gM JH#ATX6Z- AGWdn%bpchO{vV3#L zpgi8NkWsk{t_M)O=3vI6!kIYz(<~8>3LEM;fc&AYph(=2GtHm^fJzGRIG~J>)$U?L z#NK{KYpWIQAGRU~P!&h^vboQinz-S4Q$_Mbo?c!B)T>fozMudL4y4st00&c*2OU8N zl0tYjGcz-Q-0iTzw31+9VFe=*MSsjEVPL43lQ;Z3M_Z0mnG7MHEFc+_7HQ?Nv9SS& zOU#I|h05^X^S 63oow>_re>3HJ !!VO7%T`Iy82%o7g2PE&V)-jS z+zJ#L>sn? RDGZyB+sp)F8zQS9kFOhKzJ;;ky-IZ%;JuSTsH>8ENt(j6awz4<>=`obN7H7pXUH zF|4JPP;dw)@(Yi=X3S;x1ytFPI)8 ne?jh)o_#=9*rr;=$FN+|6th|z$Bh|8Z4FxVIs{2pV># z(H{9Cn=>jb*E;g%(!eUopO9KAVyIYHe-^A)%n7;KH#2N9wvi*spG0NB1v=7LPMtW7 zL@89-Gd?3ydu+4ITk0H{H{_z5#Qagt?6^ppJH_;ezUu#;!E_1&@IC=W6o6P;nv{Q= z-RD1y?8pN 3Z6D`}wsNDSp2L%UYEx~0g9zn*5| zQsfe>a_K<{EmhM> IpSOxhazY3=j&M DwPsBC_JATL?I{%Q{KH&47#0SRJk Mj3U0;gm2KlwPvOF2w4esgrN-fQ%I8YPmLgzD)nNWLD}b81Cq-@ z#lg;wbgy;qUUsCV+&rUqVzQSpkxtvK8`Bnmz==V%nCbW-Vxa#at%|JV-8-cO(qZO; zf4ir$F*>(Sl*tt{{bA>w+u{;zNt21ArH_XzO+vS3os@mX0Z|mmZ_nGzm{yve%WZv! zT*vx4;C+{7JWxi-Xhn!5bk00sK|S<%d~w|yUm;4d3?jowL QAhu-(`_zc#}aqyp%8J<*^7p z#TJBeK2VEnu2=YHsqVY(%}3ab`Jt~*#bxETAP$`EN*&K-OkzeUKTBOIZ=2x6%*3zd zZa&fp4P9maBxo4?@Zg`}4F8Xaa_1t2e%vI<;i|D33vGx>>MfujYW&nW+}gF;yI9Lq z9;fO?It>%2ofIEzYuFgFz(*DtINN#(9kn*m>8@rz{TOII>if-Jg9Ax2U1%P2)J7Rt zR-rq2&uqQkH?Hp9O`kXTm-E5Zk6?}40GS}yullC(5C8dA^E}vgrf(W}ZZsZVv}EvQ zbN0=ebpIhY&hcF{ErTc@^uV>8ulFoxNLugbxFi(H<{BD(J?jMZ*j4sN?y{@CJzK?# z9|^3ht3%)6RnXR!0h9x+8+ny?+A<7i?%P8#qaoIMRJFCW7uVPEG+-pZ+dNLE^P%MA z 2}mY25#qyJ>%h0{9u9Iv*b&AkqTmM$mu^k-_hVnm ll z6sVsj$C%}7V^3WY5rL2(pDJW(nb7R(&mpF)9Qocs!7G8a{M%Oc-%9n|@W9WzI%g-^ zvzVc)X~`P?5_yxG-!D>w&f{L|;l6Wd_-EkwJ2L?VP7i5u!XGx!2qQZgY!ZjWG0U|_ z{KE)qLnN>YO@#XulVtHkjPw%Ky-(m+GpR18n9aIzx zX$kCoAX+(;J!;CE3_s2zPkV sxAR33$}UC|vFiC%S_CJr=Wax;-*Wb?kI7 zwB#D^m(Qk$tc%D5lJkk1>aqRLOE%vXaiwN|HfbQ2$D;D351&Fdj0)fqNp1#0(x+^Q z !%F;|fo!;{gI GaWi|xlZ*?fJeITL&^vQ#w8P}5=bE!1^#Dl#mGW<1=b zg*=4R@d{7#AL_;ZKPBo?gE0+Uwh?S|@B!w5AxyLHlY|FdUDxQHnHS+y?W<+W{hAP0 zdrhsu7f;h4a`D9)B*7#R43?(Oh78y-C?f|y(ddME0^&+RcgMLd%iu8*_i&-Kde u|)McHK6MYS|GIJ_I7!t475tV%-<1o@9 zjD=}zGG@aAFkDn6<4&_ZVAef>PkrBaPRWZMddx8A9>N1epwLm -!-=)P5AC0~D&(*d`ot<_KxA zvL!1D!6|}z&-M2tGP2CuD;f;*w+%fUKYmOQC_(8wQhm%$T)Z8!j;egbM&~r*J0(E@ z1VJT#yD}UY_#r4rBSTz`Af6wUVWd}y6$oZ@3bE|zu{q4TOWp~hj@a5xzKBpaiK&87 z!W`H}hEh_p6b5eaA7>%t%e0!1GZg`lkVz=pb)V*N#>O3Wv>VM-fJfi+Yu*(r)2|{NKmf9+n#2Mny$e`@yyhq<4$i^l~ z6$i$a1%MKO2}Djw$!al6O*8C7PC*d_gGQM%ZGJGFe+l*4(xMVG_m)^M-8n5Big>6W zB!lwznL9x9?$Y?bMZR~{`|9>~@BVW8DtCDyth}85`T6+=5FR_)762JwV`nEYDhdH8 z OGrqFO-`2l`jtk& X9`-D&yM!U;-CKa%WUVb$N?9~vRXSk^*h zPJbSk@&hD`ooo{R7g1=C+w=9wiA=s0+f6V4^8TDG#d|#gh3(0DhMehbyUq=j0Sr=x z( }DbZacY1Ev7fmv4 CUEcE zVAgHH?~hX)ymG%Z=1mcOI)amc+na)o=`W(@(z23yiO(L$Mlt0lYD7PZ=8!`i_E5J@ zUceq(oM=-=tWHAV%o)e$6iER6a~j^BB|gy;V%B2#Gvz3J3y$O$Y^h=qvO8pwN|CNm z41QDZ 14*u z!^07vSP)m&S2K#|l0r3`xoOl{r`gsIsQF&V0-n{h@Ud}h`%R~B2WPbV2q|+B64|ew zH0BfebOuYZl}K)XG$(v26apECBF>m4r$ JuvJG9P|f7>+x UqhSBZ1e*H<)7UTS!m65#e+YtN maB a|(cs6-Z(@+LEmYsl#21e~>VK+CP-QC>=P)p8qy!A?FICWtz@(i`D?@}+$P}%Jr zDMF8Z)BO_kpBRffBFjW#5QR_uJ}96E)s`y)9 KapNB#xyqR`18eL z4Mf}C_wRNIv-GyW36(QKQEiXGXwR^PkKRMlbc*-Z1Ja&8$Cms)4zjJ*24~kE*p2Q; z>poo(E<>J^D=lF=;1o1WHCro2 @i=~C(dV-Jsr0G s>x%>3k_v zx^3}9$(0*JbXWXuPY`l{Jp3 sus|2(FR(e3 zO=U0@?ihX_9TGD6T&_wk*#}|rnGft)tlttu@l%kGrVpHS0*X+Ibpu%_gCTCzr6PMm z(>A{LG#?Vrf{eQ0_W0lk;v(!R2$)DaD+UYIJ$`P7oi<&ex)@7Ya236VH(EKKU>so* zd3cZ*g!ibpC2=irV}_*2X>p^`N~+w5Y9cb)i8u8;_sYVs5ucS~U|;ldcL&C|KarWQ zR;AnicvMEO)mVPpHb##L2NXsbUhRxTy-8y~@H5@u^ F zVx^>k8ht4=k^{`apEuXo1#)D2sb--pN7x)T0@DW8zKCz#rJsB|bHS%Ut;PH=K`x+8 zLep2M0?lViz@k2kW4LHYx=7CUt?2_->B)Lm_REvcUjHPFvcOwG?s{OdE7zrm+;ejn z%u*GLi_*5`f)x%32!ZVT{{=uAJUux{;kF|cdV6MrLd4H0FNcr%*f$V?#p8BGPD4Wj z0R^>va I+P z?4aOq;SIi&!$erPE+UWIdc`FN9VK}gI4uyOipYqH2aFP6C-!$1e@vnXG+!SH&?3Wr z-l9a6i`=a7#=Yv&>X8l$aQk)$@tITN;yG-oz0DE*Ec)fb$tBQKW~HUA4ULd+0#MFB zefmT~MFj L{II7jqN}FaA(>2AhBQn!@_g&|J%jGNfFS z(O!C6<}#y~D;p8iNyP6md7;g2!r!_&p2EJ8O+N9zBKl}6a_ORqkXwD@N`(7jWAx*j zmOEz5UJq``Y2OA<{gddUaP6-^9^sF$+Qgb7_43vA{!;QMeSw1YUVft~eOpN%?ttey z1CTnLz$CyLNF^&4Lxw^x78R8V2TuHiWPb&IKxO@U-%buEs@ zc2p^-pAbhy#D66Bi)9JhxY)K)(_eEJZb5+ zyNbxlA~-oYdD!rCTiD&L1Mh#}zY%(HW^yEZ-qj<#+{b$x)3aiJJ>GvF)vL6dg_~HL za3?tFU05e?@+Nx32T2|+2#^-vK|qIv1nJCtlXICtMd4w9RYyUAEDsF@Qxz9SuO=n^ zr%kOd@t^jW?(oom+IhYhDF3v@LFq{UY5(ou-|c@o+<`CV8xhs>d1?44Cq7Xi^m-Xn zgjWrs=lxLdQB!>98`Oy%sZ5e+KaX_JD?~Nc2zV>_i2LI$w}{QjWK; zcTO{@b`1l)1bb^%E^*hJGQ56qzD|2r95ayGsH~>bpO~NL3RxK{7;?nxJKrLL7lzDo za5eYB%e!_vX0``3O%Dq7RylP@?7XCs+BQ0&g^7oXSF*9<_dueTgK-KQL?28cPq%>G z9+8t|$5_t5k$>pD_YxHKf=T)Yl0G*}jM9aaEz~=#?f26fYUrzxdu;W32$N&xNDDSf zcFfcc?X9$>cJF6+R2VC@)z@JVn6mo2u7Lt y6K>tV6P@NGB*F*q=U2cW zyV1-CTzB1qH@iX0DbUJYkl0pE4Ohd_WU)xN`lKA=s7#U2YCyH;!H%K++(dj^(fhG+ zWa`Kb#>U1EijTORSQ3Rzb}0e9zP;H8W6hhKiYp&m=jR!otMw^q^@ZP+JF ?0_Kim7Yll7tDJKnC7Z#ezp z!6pVO=>0jn`Ix1+H~O7TKiv>aeJt=tSZv|Aa*jO DgVwnAc C#aGP|W$LPA z5GYx>A?Jc4$8S)J$AuKS%OAlj3o|*>wAl%iA^%q`=N%2#zb)_}A$s&qj3^Naq7I@( zNrFKVC3QKDBtpPX;E#%dWrF-#jI6&7%G|7C!)cIy<^@ z0iEd=QqYUH`Uc{tc*Q4g9}uhO>e4hrh}quaCa)*DL?^)C9v)Z!zD5Ps!^66HuOFDs zyvJ{2uoNDM{m{YB&RRjFn+M_5GP|#b9~0D)X~{-GhRUti_R?S(_(Md~Pnm=gG|XG% zx|6VE1-jd)&RYRlU6Ua5@#q{-2 )$y2bE_m{XLF!9>W&RHqKJd`bH$-cOS7dxxG-e@2?FKT>ED-N| zdpB`WMs%lLj$OPA2%l_+tVKT#glTvsQf%DCLL7|8OHN^jQ?bhp{(z1*9IU2gu`+X5 znRl33AR)A~c;n?qZoqY&LbB8e*k;bKo_08hGiQ%X88TiNo}Lg`TGH<<$IQ+A4j%9= z7zb0~pjZM!@N7(Mo9EPCK;w!|??z{`8!WU3${4Uf!`-TVgGMiOpcG^xm>DG;j6(u; zKviqx=i-#EB{Khh*DQxf6A_u+YS=ZAN<6#y$jy+fI&B{E5yMREJYQ2J{k1EEz4^Vs zp0xHuw;vqR-dUi1tjhw{Dc-P+(!bR>4vFZVa7>D%g%(T^ 5%Ib?+(q%UXE20B_L_V1RRbAC_7lB&EVNVIuavXnDj>`WJDx=!2S+c`7P)dKr@ z54t_usO&ee9OWwvOa0ja+K+J+=hr90WD8Sg3vX#tY2WxOIR8BuUj^%b6 Hilj`sFZ4&rLSSc%*i*~J7++2K#=oIua0 zA0V85yB$Ps9v*PuqE>?{yt&W0#cL15#>Qp@v=@fJzX4AXgR-Y&okA#^Y6nNhyJpI> z$_+3WZ2#=o70CRG-nPYjxToiJaRvtV&r9;^MhQxo00*>CrW6!)Nb;(WECa8BA2C8P z@w)aqaHp2oeP?t5X{N0Ivs!~k9w>e@<@ebJrLS+*?9f$!3UxZZACv3r036$ipdoS? zekSB~KXh)jbM-e>IN2>j{?>D`{_dNnexa5~5wYFwd}skfq^%Fj;A^^jKaW)1t0b6d zSCJzOJ+C+NJSD@Sf(em>@y%kP$Mx42>W`sQWkQ`a>_W!2c6z^_sO}`}dWBz46-F
73muAKoISX%$!8TzI6iGt*_cscR>E@)hAHE0>L3+N8Jtiv~{wI^ 3mJo#)i**ra*2|;r3>5Rkt5{mZAVDU~NE5G@!@7 z`mZAS@39Tv&pWbF+=3xAl#JUY6^uKUW@Qcaus5TimG ){FS6*QGIA2M^Ql;nC5bB0`*;B1nq4 z(`IPxUb{LGQ3W#btUZhG*Iy -7ae?A;10N2H@Ye+QX&*+(!Q$)=~uTzRl*7PsxRWDC`7fpefWuS+h7%>@%-G9O2 z{y)Ov)2Z#?Pgs2gTLC+PbiKS!Q79AHh>w02QH{2KxdV}tb%r97bDHR8Vmub{2Yc zPkDD- zrtr(krlXHidN4d8byxy7B)`Bcn>if(L}2{!J^JA_YGqsLiI4~Snlu?kUf{f#3dBC* zWra_AR!>AsLV4R$*tzV%u}4J%`q(`M$+#exFm$T7La3e}-kfJpYB4Ro?v`3s_JAA( zu4-s_;^`?7X0G+Z)yvp`&mmcT4joXaDS8VGy>V|}4KNB4eeL#Ef|YBomrn9ax8D-l ztErI!vEHcJOPc^rA>)gSPD)CmIoH-{k7OMISa3CC!EI#A6_nh!w_cd_C72GpwNYD8 z5cchx3Xnr;kCD4T^>74~1c5u* Vm)OR?sEEZOJ`q4N3{$M)l^l9 zfaw68RRZGT;-W&f{olS3CRuAgNM2uC`&3tlV<>0W0)8Sr|72sM)R!@S_L#SDWIs>| zt`txsa0@eP_4`;?C(g{w{JFfmu&iubiLL}+cR7U<$O@_X`#-t{DNMlOJOJ@`6WJE2 zi8@B{*$3+u57#q*b9s~j(W((Wg1~ArmWFAg3WqR5A zW($d%=}Bug*2TNGPpE^2<>#6`N>ey3aN+|LtC^@R94@~8@IF=CiyRW&WpW1?3@A`5 z%4SWNrE|jS(}3LrjtF3H=jZr1{gguz&@`vY;ok+cl;$Xa9|MQ|=i+qdcs_)3ZF5s* zk2bd8rV@m)49Lmk<>o# VJOTtbBXK*y2eOQ<>1A_Ma>lp!K}h_7u>`fAX*V zPc1Sk?W xfd$ps}y!p+mFjzi{;L6)% z{s*yo4jvR9O}=9v%9O##qt#2z!DycC=9R^p3E^YlTmHTL+gq2x1|@@M(9%H8CJF5P z#q|MB9`>Y<>FJ<^_m=s1tTpa24~1F3n&<0xC`=68M3e_L*+#0%D2sD&R*i&qN $AJTicm}5-&8boUOuVz^<&u~Dg6B=w=Y^a%Pd|1} z58A~L_YrU3(R04xM2-BiucHJJHj7dtF8JZye9je$8A!Ph3eo5jK!~X!O4UQwuaB>@ zo`-eJJblF~+Cav~I-2uTat-t`ovT`Ffw&YyanZbq`4>zR)Nt~0sYE4g@^@o-2Cj8m zmwd&o2aL29N*hWOUoW$8Yt--aQ-0{3r9RkMe+tSx<6kG7hSTz ve1>dC1HFr^Cxc;Sc(wYVz;L}h2&}ObuHNsF>^Y%L;Zn` z{t0GWhwBu#padn-7)C}*I6S(we7h<*1f6EgDw$?x^y|cofkJ?1$1u?i6OMxFR6ut4 zB78N}Ap>y`gO|=jLmT<4vqI TPkt#iV4m&HLfPG@U(2I| zfO6*Wk00 uhcx37Rx(wPy|omKGOJr?G1R2j3Yxb8b+odn8My&3THQtFL%8(Rw;bj!C$BQ{h9k z;X0rGpv_S0I?FQv(>oo4Iq4dW>Oh7t@pCYpH^JY1a8-=aHhg-kprs`PATZ!(O?5!q zws>0p^P=5hRgS%0-Yh#UbSzLTZoRzlmHjhMASErWDRU$5E`A(M7#2t|18Xz%h#36| zC>rfe*=CtD5>7ebx&$q*+>NOW*pE!WMS4;aJvoZW^VfH}Ot}E`%F0TFB0xoWf1v-t z8dU-GwGf(kMAZ9WEe_ylO=qn^>Hfj`3k}kA;C|Oa&8+98x-o23S0{DSzbDCV?w*-4 zBs=)SZ wGfD %Y_4czq=(z}~0SyI~I_pT>5y^GG;pBMkd$+(%eM zUAE8LgP_b(ipuDZG&f3&QB@=jjYLf0De@_SJ$;I^5w^Ulk!r%*O12dwL!+|;yInVf zY%274k3025L=SLFke*)m%X@Ke dECZej!yiKH`=DYgl`p zU3Y_YCg?Oz{jojogz7iswmbXJRfSXo7U0~Yrr67vZvZiy*?@&l&imYh!~J6cjvZ#w z775Z(dU3tS=Kmc `LKH4gnGJ)eWTtH`1az$v}y-Pyq%5iH^x2gQCPDVb5nHH}`TMVC*9;z0xu zY+4J|&xk7On0V(uz1_Ka6VgZqvZX`zwm};w2}k{sVMu*FlkR&VX?UphxSmbQvlPKM z ?(m1JQwkymPsvLtZVA0i``Dk3^?~4{ z&i^7(Og7`$V$}2P$!QoW9`@x18V#zp>hR97rvVN?W{-Cx!A3AnH=KF}HRYLTJ^tg) zgvo{W2t$UOZ<@~77a)eXrTd+0z_CZ!gZ0HvlGV6C`^;mn>89(R7LK^NyF=yCaoyd@ zjZIC$WFe`kor10Wv~{ZrZ9st~%MSSG>dqG5#Rqb5__{!lb$X-^4E>qJV3rrVqnKk| zuaHqwQ#^1^L0C0SQiR%Qo*Edd*- z5Qu^!)d4L6?z?I8It=93kE_?}7#|x0_`2sMlh|hs2vxN8E9Ork%lp6jYHDkThlb<< z*8$2-ykE=!(dZ$Y0={|!i^X%6%BZQYudc1lPjku2_HPc5n*e4>8X6WeAeCmV>6%W@ z0p!wF*ovBAH#TquL|23nvhr-xEgoy3eEbr1adLFuVX$^b)`Q^a&eh6j{o2%(A{nn{ zssRSzPy?9p-Hqb2O?Utlss3HLX?f 2x0s>iFOh^F&0#XeePr}23x1j~4JKzsU z2L(| Ee#hu|Gp14&UKh_^qloVMb4@DT)CF?9zB2qcU@Z%Bx=j8EW$aE{{A!f-3_ z2ne4T*o7t)As~n##DxTuT$fH)eUzqMvd%BbsUDUnyPTmj$qK(|G_zAVe(#AAJcrM0 z3FcVVyTd)d@m=;`RXL$CLppk25>SCzq;hg$Se(}ev-DxiF_Me+@N=j`#l{(b+jQMn zj&n|5zjC}o& y z*;iBnTS5{Z(Cc*LyzN~i#sm)UV|+0M;StmTfqw-6Na{c|^eRDkyXjQcIUH4NV8;>j zvP4!g7M7q`XVhFn+ vRt~&mIr5zwZ6z9kZ4dgygiZtsjZ~ ~YENTcm?4K#L#T&-URh9cXg-@LqXP$Ds+Tq|GstBLK04 zux${J5Hc1u{u4}wXC%4L6{o0Smcd<__-EH!ah-=jrV) ;DT^mnG%A&DH^pkYs` z=>UPJnjT1(l>sjo{+*uK)~SaN<>Z^89Csg3=(l+Zm`69GUYP=d&jY;1rwRn6WO#jS zn(^j%#wz-K^ye)_U5^g^oP>FVwO2XMpbrKC!sdmCkC_yv!fOrI&dlBW7)-08^ZUyf$6mqC*_ z5S-zA`V_d#Tlp0Ns~BX&<8MA9#2kEx#fPJ8W*qTCHq(?p9?7$Q#Jge|FgkyT2*IP% zJ9mu{ix0$%_myaTNp%jiRPN_X4LY5W1oRr ~VXty%56m)V+;}M-eQD9{TC<@6Jr-XQbw%RX`N4ZPa@? zxDsF1=uaz>Q1Ru0>gVlv?+r~_8^dWUGrMoP3B28cW-@s9?Fb@0GgZUF{64YrP+d|5 zI(}Fg(SE0GqwrkIM&}F>I1T`1Bf4!KJ~eIc(7D#_a;!Zkle_J;4Y=i6v$+`2Y)0mp zE+(379}etK+zfd<4>R?xxE#z52V1o^w}hMeXbd?>uK8Y2D0n|Z1)+}n#;YzQ9olhU zI)1GDnC;IYdy(I=%l}cZ8D8Y;AHd*mw|yEKd+zUE* `Bboj5UW z>*Eo&6ygV>8ItR&Qv3sA{=ynTC>3}>|2QV!4k9wLaeo9(U~sSmH3Fa)Z7hpNQdSn# zbUX{+ty4ruNURDG(5nn?M*r}kYq8e!@a(MJ9osLk3{5bC)+_{hVPZlKK@|}A$?&&M zR(A5c@2;**b#dUv$z2?G@lFe7Typ@pHGh~%$$A=H@P{4oKe6s#iIC_8q5YLn;5#51 z81N9m*@J_B;o~2m{0krd21>x+=lm7?ea>IO{{dY8?>fA1mWn4sGdOW~cW1ZXfwykd z#5F```1HQFuaCj7|2;SrG7TcMocemqj`i_Xm-SJgdToI`S*$GYLm=PlWwht9<~lJ0 zLu^b8+95HT0dWtgVcB~7_33>7cG)IbB-O~e (?P zm!>Q(m#FDtS;@vuHek!f&Ea$gmy7ibfExU>6yQ(>S3t)DoOOShKj!+1FTNEFb)z`~ zgFG*fl=LF?^Q#)Rkau*%Y}o@>KCJI})SUe7)%m?5w$RusSC)EaSBB=VBX&DOJTI8C z2E~jte!*_JXr-{_S$)%U>!0}*Kc9|{?UZAZV)!+JEO(B1FNQ0}9NHc Ms-1?-wfm zs>@PXwvVfcu |=WuP!@1YulFbG{u{0E$$B%~xU z2^ORs{h_i}#q3T9i3A4@G}{16d}}4G20=yze`Pa?ei7W&`6_E4XwouO#i _mZ zfL}zjh(xV|xP%00OCGZ7v M>oi&K )dxY+EO!KZWP^Ro@1GOYQvJ9RjMCzr&|?jLZ 9 zM%X);kEA!6eSXibYJ^Xt7Cl1&DK+RZH>xTN>emo M57fuECF&S3)rv`9O*YnMp}XMe%!c)wZ^PrpC2NW^ zQhu6p*(#} 0oe593}9Fx)ZnWy0+U43`d8*@q_Z?506QhdAu z_}+A>FW1{)UY~JFOVJ@NeEQ$GJdo~Wk&Krx2Vg|nkPXn^ea{|-3(TEIZaucBJLrbU z4(BzXYq7qXkgJJxFAhOEA80=Im@oq^`N_>gEcu;Ip%=k$dp~10EXq3Eek0LZVPEp1 zdLO2cP1j_@S#C0O{K